SW Expert Academy-1288-Python

cosmos·2023년 4월 20일
0
post-thumbnail
post-custom-banner

코드

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)}')

결과

ChatGPT Code

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))

ChatGPT 문제풀이

해당 문제는 브루트 포스 방법으로 해결할 수 있습니다.
각 양을 세면서, 그동안 본 숫자들의 자릿수를 세어가며 0부터 9까지 모두 보았는지 확인합니다.
0부터 9까지 모든 숫자를 보았다면 양 세기를 멈추고 현재까지 센 양의 개수를 출력합니다.
이 방법을 테스트 케이스의 수 T만큼 반복하여 구현하면 됩니다.

문제출처 & 깃허브

sw expert academy
Github

post-custom-banner

0개의 댓글