알고리즘
백준 ) 1110 - 더하기 사이클 Python
Miaaaa
2023. 5. 24. 17:13
문제 링크 : https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
solution :
n = int(input())
count = 0
val = n
while True:
x = val // 10
y = val % 10
sum = x + y
val = y * 10 + (sum % 10)
count +=1
if val == n:
break
print(count)
while True문을 사용해 특정 조건을 만족시키면 빠져나오는 코드를 작성했다. 알고리즘 문제를 풀어보면서 처음 사용해 보았다.
처음 작성했던 코드는 val과 n을 따로 초기화해주었는데, 결국 while 문 안의 연산이 한 바퀴 끝나면 val이 x, y 로 나눠지는 부분이 동일하기 때문에 코드를 합칠 수 있었다. 스터디원들과 함께 고민해보고 코드를 공유함으로써 더욱 효율적인 코드를 만들어내는것이 중요하다는 것을 알게 되었다.