문제 출처 : www.acmicpc.net/problem/1110
문제 해석 : 더하기 사이클을 처리하는 알고리즘을 따라 했을 때 원래 수가 다시 나오는데 얼마나 걸리는지 구하는 문제이다.
문제 풀이 : 주어진 조건을 차근차근 구현하면 풀이 할 수 있다. 여기서 주의해서 구현해야 할 부분은 입력값이 10보다 작은 경우에는 자기 자신을 아닌 경우에는 각 자릿수의 합을 가지고 연산을 이어 간다는 점이다.
풀이 시간 (기록용) : 12분
풀이 코드
N = int(input())
time = 0
temp = str(N)
while True:
if time != 0 and int(temp) == N:
break
temp2 = ''
if int(temp) < 10:
temp2 = "0" + temp
else:
temp2 = str(int(temp[0]) + int(temp[1]))
temp = temp[-1] + temp2[-1]
time += 1
print(time)
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 2458 키 순서 문제 풀이 (0) | 2021.03.26 |
---|---|
[알고리즘][Python] 백준 14499 주사위 굴리기 문제 풀이 (0) | 2021.03.25 |
[알고리즘][Python] 백준 2166 다각형의 면적 문제 풀이 (0) | 2021.03.13 |
[알고리즘][Python] 백준 2143 두 배열의 합 문제 풀이 (1) | 2021.03.13 |
[알고리즘][Python] 백준 2056 작업 문제 풀이 (0) | 2021.03.12 |