문제 링크
https://www.acmicpc.net/problem/1110
나의 코드 (Python)
N = int(input())
tmp = N # while문에서 변경될 변수
a = 0 # 십의 자리 변수
b = 0 # 일의 자리 변수
c = 0 # a+b 결과를 담을 변수
cnt = 0 # 연산 횟수
while True:
if tmp < 10:
# 10보다 작은 경우 십의 자리에 0을 셋팅하여 연산
a = 0
b = tmp
c = a + b
else:
# 10보다 큰 경우는 십의 자리와 일의 자리를 분리하여 자리의 합을 구함
a = tmp // 10
b = tmp % 10
c = a + b
cnt += 1 # 연산 카운팅
tmp = b * 10 + c % 10 # 일의 자리를 십의 자리로, 덧셈 결과의 일의 자리를 일의 자리로
if tmp == N: # tmp와 N이 같으면 반복문 종료, 결과 출력
print(cnt)
break
문제의 핵심은 십의 자리 숫자와 일의 자리 숫자를 분리하는 방법입니다.
십의 자리수 : N // 10
일의 자리수 : N % 10
'코딩공부 > 백준 (python)' 카테고리의 다른 글
[백준 2562] 최댓값 (Python) (0) | 2022.02.22 |
---|---|
[백준 10818] 최소, 최대 (Python) (0) | 2022.02.20 |
[백준 10951] A+B - 4 (Python) (0) | 2022.02.20 |
[백준 10952] A+B - 5 (Python) (0) | 2022.02.20 |
[백준 10871] X보다 작은 수 (Python) (0) | 2022.02.19 |
댓글