알고리즘/백준
백준 1110번
반딧불이 코딩
2022. 8. 16. 01:54

#오류 코드
num = int(input())
score = 0
while 1:
num//10 == a
num%10 == b
a+b == hap
hap%10 == c
num = b*10 + c
if num == num:
break
score +=1
print(score)
#정답 코드
n = int(input())
num = n
cnt = 0
while True:
a = num//10
b = num%10
c = (a+b)%10
num = (b*10)+c
cnt = cnt+1
if(num ==n):
break
print(cnt)
이 문제는 거의 근접했다.
정답 코드와의 차이는 if문이 cnt +=1 기준으로 위인지 아래인지의 차이밖에 없다.
문제는 여기서 시작이다.
if문을 정답 코드와 같게 cnt문 아래로 두고 해봤더니 런타임 오류가 떴다.
그럼 그 다음의 코드 차이는 while문 안에서의 연산과정에서 a,b,c를 정의하는 곳에서
나는 연산과정을 먼저 적었고, 정답 코드는 a,b,c가 먼저 정의되어 있다.
연산에 앞서 정의를 먼저하는 것이 용량이 더 적은가보다.