Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 1110번- '더하기 사이클' (PYTHON 풀이) 본문
문제:

예제 설명이 잘 나와있어서 추가 설명은 하지 않겠다.
풀이:
N = input().strip()
count = 0
if len(N) == 1:
N = '0'+ N
origin = N
while True:
a = int(N[0])
b = int(N[1])
s = a + b
N = str(b) + str(s % 10)
count += 1
if N == origin:
break
print(count)
우선 입력값을 문자형태로 받은 뒤 길이 검사를 먼저 해준다. 두자리 형식을 유지했을 때 계산하기가 편하기 때문에 한자리 수를 입력받았을 때 앞에 0을 붙여서 저장되도록 한다. 이후 원본값을 origin에 넣어두고 루프를 돈다.
루프에서는 각 자리의 수를 따로 떼내서 int로 바꾼 뒤(처음 입력받았을 때 문자로 받은 이유는 인덱싱을 위해서임) 변수에 저장하고 이 값을 더해서 s에 넣는다.
이후 앞자리는 b의 값을 그리고 뒤에 값은 두 값을 더한 s의 맨 마지막 숫자이기 때문에 %를 활용해서 출력한다. 그 다음 사이클수인 count를 1 늘리고 처음 입력받은 값인 N을 담았던 origin과 변경된 N값을 비교해서 동일하면 루프 탈출 후 count(사이클 수)값을 출력한다.
'CODING 💻' 카테고리의 다른 글
| 백준 4344번- '평균은 넘겠지' (PYTHON 풀이) (0) | 2025.11.12 |
|---|---|
| 백준 2741번, 2742번 - 'N 찍기', '기찍 N' (PYTHON 풀이) (0) | 2025.11.11 |
| 백준 8958번- 'OX퀴즈' (PYTHON 풀이) (0) | 2025.11.09 |
| 백준 2577번- '숫자의 개수' (PYTHON 풀이) (0) | 2025.11.08 |
| 백준 2839번- '설탕 배달' (PYTHON 풀이) (0) | 2025.11.07 |
