문제
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
나의 풀
n=int(input())
newint=100
count=0
temp1=n
while n!=newint:
temp=temp1//10+temp1%10
newint=10*(temp1%10)+temp%10
temp1=newint
count+=1
print(count)
다른 사람의 풀이
n = int(input())
aim = n
step = 0
while True:
n = 10*(n%10)+(n//10+n%10)%10
step+= 1
if n == aim:
break
print(step)
변수를 하나 덜 사용하여 조금 더 알아보기 간편하게 코드를 작성하였다. 복잡하지 않고 간단하게 최소한의 변수로 알기 쉬운 코딩을 해야겠다.
'알고리즘 공부' 카테고리의 다른 글
백준 1712번 (0) | 2022.11.30 |
---|---|
백준 10757번, 파이썬의 큰 정수 입력받기 (0) | 2022.11.30 |
백준 4344번, range(int(input())) list()[1:] (0) | 2022.11.28 |
백준 10951번, try except (0) | 2022.11.27 |
백준 13223번, 시간 계산과 zfill() (0) | 2022.11.25 |
댓글