Home [Python] 백준 1110번 : 더하기 사이클
Post
Cancel

[Python] 백준 1110번 : 더하기 사이클

Problem

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

Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
a = int(input())
n = 0
b = a
k=100

while k != a:
    if 0<b<10:
        while b<10:
            b*=11
            k=b
            n+=1
    elif b==0:
        n+=1
        break
    else:
        c=b//10+b%10
        k=b%10*10+c%10
        b=k
        n+=1
print(n)

Memo

위 문제는 주어진 조건을 읽고 해석하는 데에 많은 시간을 할애했다. 주어진 수가 10보다 작은 경우 진행되는 과정을 이해하고 나서야 제대로 코드를 작성할 수 있었다. 0이 주어질 경우는 다른 케이스와 따로 분리시켰다.

맨 위에 b와 k를 구분시킨 이유는 시작하자마자 while문에 걸려서 프로그램이 종료되는 일을 방지하기 위해서인데, 변수를 추가하지 않고도 while문에 n과 관련된 조건을 추가시킨다면 해결될 것 같다.

This post is licensed under CC BY 4.0 by the author.

[Python] 백준 11050번 : 이항 계수 1

[Python] 백준 11021번 : A+B - 7