SWEA(Python) 풀이/D2

SWEA[D2] (Python) 1288번 새로운 불면증 치료법 풀이

개발윗미 2022. 4. 15. 13:43

Python으로 구현한 1288번 새로운 불면증 치료법 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV18_yw6I9MCFAZN&categoryId=AV18_yw6I9MCFAZN&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=2&pageSize=10&pageIndex=3 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


t = int(input())

for i in range(1, t + 1) :
    n = input()
    value = int(n)
    data = [0] * 10
    while True :
        for j in range(len(n)) :
            data[int(n[j])] += 1
        if not data.count(0) :
            print('#%d %d' % (i, int(n)))
            break

        n = str(value + int(n))

 

1. 각 테스트 케이스마다 n을 문자열 형태로 입력받아 정수형으로 변환한 값을 value에 할당하고, 각 자리수의 번호를 센 횟수가 담겨질 data 리스트를 정의한다.

 

2. 이후 반복문을 통해 n의 각 자리수를 하나씩 확인하여 그 값을 인덱스로 하여 data 리스트의 요소를 1 증가시킨다.

 

3. 만약 리스트의 요소들 중 0이 없을 경우 0부터 9까지의 모든 숫자가 최소 한번씩은 세어진 것이므로 해당 테스트 케이스 번호와 함께 정수형 n 을 출력하고 반복문을 종료한다.

 

4. 0이 아직까지 존재하는 경우 value값과 현재의 n 값을 더하여 문자열로 변환해 값을 갱신한다.