반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 2145번 숫자 놀이 파이썬(Python)

1) 문제번호 : 2145번

 

2) 문제 출처

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

 

2145번: 숫자 놀이

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

www.acmicpc.net

 

2. 문제

초등학생인 도겸이는 숫자를 좋아한다. 어느 날 도겸이는 숫자 책을 보다가 간단한 놀이를 하나 생각해냈다. 숫자 놀이의 규칙은 다음과 같다.

  1. 주어진 숫자의 각 자릿수를 더한다.
  2. 결과가 한 자릿수가 될 때 까지 규칙1을 반복한다.

예를들어, 숫자 673에 규칙을 적용해보면 결과는 7이 된다 ; 6 + 7 + 3 = 16, 1 + 6 = 7 

도겸이는 당신과 함께 숫자놀이를 하고싶어한다. 도겸이가 주는 숫자들을 풀어보자.

 

3. 제약사항

 

 

4. 입력

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

 

5. 출력

한 줄에 하나씩 한 자릿수 결과를 출력한다.

 

6. 풀이

- 자릿수가 1이 될 때까지 계속 쪼갠다.

 

7. 소스 코드

import sys
input = sys.stdin.readline

while True :
    N = input().rstrip()

    # N값이 0이라면 종료
    if N == '0' : exit(0)

    while True :
        if len(N) == 1 : # 1자리 수면 값을 출력하고 종료
            print(N)
            break

        N = str(sum(list(map(int, N))))

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기