본문 바로가기
python-algorithm

백준 9047 6174

by 무적김두칠 2022. 11. 25.

https://www.acmicpc.net/problem/9047

 

9047번: 6174

입력은 표준입력(standard input)을 통해 받아들인다. 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스마다 한 줄에 네 자리 수(1000~9999)가 하나씩 주어진다. 단,

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def sol(n):
    cnt = 0
    while n != 6174:
        str_num=str(n).zfill(4)
        min_number = ''.join(sorted(list(str_num)))
        max_number = ''.join(sorted(list(str_num), reverse=True))
        n = int(max_number) - int(min_number)
        cnt+=1
    return cnt
 
if __name__ == '__main__':
    t= int(input())
    for _ in range(t):
        n=int(input())
        print(sol(n))
cs

반복문으로 풀면 쉽게 풀 수 있는 문제지만 유의할 부분은
Line 4 에 있는 zfill 함수를 통해 n이 1000 미만이 될경우 앞에 0을 채워줘야합니다. 

It looks very simple using loop ...
But when n is under 1000, You fill the zero using zfill

반응형

'python-algorithm' 카테고리의 다른 글

백준 25965 미션 도네이션  (0) 2022.11.25
백준 17072 아스키 아트  (0) 2022.11.25
백준 25703 포인터 공부  (0) 2022.11.24
백준 14626 ISBN  (0) 2022.11.24
백준 25932 Find the Twins  (0) 2022.11.16

댓글