본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 2145번 : 숫자 놀이

by 빛밤하늘 2021. 4. 30.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2145번: 숫자 놀이

각 줄에 숫자 N이 주어진다. N은 100,000보다 작은 양의 정수이다. 마지막 입력은 0이며, 0에 대한 결과는 출력하지 않는다.

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 0을 입력할 때까지 반복합니다.
while True:
    # N을 입력합니다.
    # 100,000보다 작은 양의 정수입니다.
    N = input()

    # 입력한 N이 0이라면
    if N == '0':
        # 반복문을 탈출해 종료합니다.
        break
    # 입력한 N이 0이 아니라면
    else:
        # 새로 값을 넣은 N의 길이가 1일 때까지 반복합니다.
        while True:
            # N의 길이가 1이라면
            if len(N) == 1:
                # N을 출력합니다.
                print(N)
                # 반복문을 탈출합니다.
                break
            # N의 길이가 1 초과라면
            else:
                # N의 각 자리 숫자를 모두 더하고 문자열 형태로 변환 후 다시 N에 넣어줍니다.
                N = str(sum(list(map(int, N))))

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글