관리 메뉴

Kim's Programming

1288. 새로운 불면증 치료법 본문

SW ExpertAcademy/D2

1288. 새로운 불면증 치료법

Programmer. 2018. 12. 1. 00:10

1288. 새로운 불면증 치료법

문제출처: https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18_yw6I9MCFAZN&categoryId=AV18_yw6I9MCFAZN&categoryType=CODE




풀이 방법


처음 입력된 숫자로 부터 각 자리의 숫자들을 result 배열을 이용하여 true 체크를 하고 0~9까지 모두 true일때에 답을 구한다.


<코드>


#include<iostream>
using namespace std;

bool isAllExist(int* result)
{
	for (int i = 0; i < 10; i++)
		if (result[i] < 1)
			return false;
	return true;
}

int main(int argc, char** argv)
{
	int test_case;
	int T;
	cin >> T;

	for (test_case = 1; test_case <= T; ++test_case)
	{
		int nValue;
		std::cin >> nValue;

		int result[10];
		int iterator{ 1 };
		int answer{ 0 };
		for (int i = 0; i < 10; i++) result[i] = 0;

		while (true)
		{
			int number = nValue * iterator;
			answer++;
			while (number != 0)
			{
				result[number % 10] += 1;
				number /= 10;
			}

			if (isAllExist(result))
				break;
			else
				iterator++;
		}

		std::cout << "#" << test_case << ' ' << nValue * iterator << "\n";
	}
	return 0;//정상종료시 반드시 0을 리턴해야합니다.
}


'SW ExpertAcademy > D2' 카테고리의 다른 글

1940. 가랏! RC카!  (0) 2018.12.01
1928. Base64 Decoder  (0) 2018.12.01
1285. 아름이의 돌 던지기  (0) 2018.11.30
1284. 수도 요금 경쟁  (0) 2018.11.30
1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기  (0) 2018.11.30