본문 바로가기

[SWEA] - Python

[SWEA/D2] 1288 : 새로운 불면증 치료법 python

 

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

 

T = int(input())
for test_case in range(1, T + 1):
    N = input()
    tmp = N
    s = set()
    while True:
        for c in tmp:
            if int(c) not in s:
                s.add(int(c))
        if len(s)==10:
            print('#%d'%test_case,tmp)
            break
        tmp = str(int(tmp)+int(N))

 

음...형변환을 많이 써서 자칫하면 실수하면 딱 좋겠다는 느낌이 든다.

리스트를 쓰면 더 간략하게 풀 수 있을 것 같으니 생각을 좀 해봐야겠다.

 

수정한 코드

T = int(input())
for test_case in range(1, T + 1):
    N = int(input())
    numbers = [0]*10
    i = 1
    while 0 in numbers:
        tmp = str(N*i)
        for c in tmp:
            numbers[int(c)] +=1
        i+=1
    print('#%d'%test_case, tmp)