def no_sleep(num: int) -> int:
dict = {str(x): -1 for x in range(0, 9+1)}
cnt, tmp = 1, num
while True:
for x in str(num):
if x in dict:
dict[x] += 1
if -1 not in dict.values():
break
cnt += 1
num = tmp * cnt
return num
T = int(input())
for test_case in range(1, T + 1):
num = int(input())
print(f'#{test_case} {no_sleep(num)}')
T = int(input())
for t in range(1, T+1):
N = int(input())
seen_digits = set()
count = 0
while len(seen_digits) < 10:
count += N
digits = set(str(count))
seen_digits |= digits
print("#{} {}".format(t, count))
해당 문제는 브루트 포스 방법으로 해결할 수 있습니다.
각 양을 세면서, 그동안 본 숫자들의 자릿수를 세어가며 0부터 9까지 모두 보았는지 확인합니다.
0부터 9까지 모든 숫자를 보았다면 양 세기를 멈추고 현재까지 센 양의 개수를 출력합니다.
이 방법을 테스트 케이스의 수 T만큼 반복하여 구현하면 됩니다.