◼ PS Note/백준
[백준] 1010번 : 더하기 사이클 (🥉브론즈 1) (Python)
SangYoonLee (SYL)
2023. 1. 20. 03:05
반응형
문제 바로 가기
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
풀이
- 사용 언어 : Python
- 풀이한 날짜 : 2021-09-18
# 풀이1: 문자열로 변환하여 풀이
def cycle(n):
count = 0
if len(n) == 1:
n = '0' + n
first_num = n
new_num = ""
while not first_num == new_num:
count += 1
if count > 1:
n = new_num
sum_num = str(int(n[0]) + int(n[1]))
new_num = n[-1] + sum_num[-1]
return count
n = input()
print(cycle(n))
# 풀이2: 정수 자료형으로만 풀이
def cycle(n):
first_num = n
count = 0
new_num = -1
while not first_num == new_num:
count += 1
if count > 1: n = new_num
new_num = ((n%10)*10) + (n//10 + n%10)%10
return count
n = int(input())
print(cycle(n))
(예전에 기록해둔 풀이를 그대로 옮겨온 것이기에, 부가 설명이 없다는 점 양해 부탁드립니다.)
반응형