반응형
반응형
문제:
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
풀이:
n = int(input()) def cycle_sum(n): num = [] num.append(n//10) num.append(n % 10) sum = num[0] + num[1] cycle = (num[1]*10) + (sum % 10) return cycle temp = cycle_sum(n) count = 1 while(1): if(temp == n): break else: temp = cycle_sum(temp) count += 1 print(count)
num = int(input()) check = num new_num = 0 temp = 0 count = 0 while True: temp = num//10 + num%10 new_num = (num%10)*10 + temp%10 count += 1 num = new_num if new_num == check: break print(count)
다음과 같이 함수를 사용하지 않고도 풀 수 있다.
반응형
'Python 코딩테스트' 카테고리의 다른 글
구현: 백준 1157 파이썬(Python) (0) | 2021.08.03 |
---|---|
구현: 백준 2750 파이썬(Python) (0) | 2021.08.03 |
구현: 백준 10820 파이썬(Python) (0) | 2021.07.29 |
그리디: 백준 2828 파이썬 (0) | 2021.07.13 |
그리디: 백준 15881 파이썬 (0) | 2021.07.11 |