Search

백준

1.
나의 풀이 : <시간 초과>
방식 : 문자열로 풀었음
문제 이유 : 숫자 1을 집어넣었을 때 while 문을 돌리는데 시간이 너무 오래걸린다.
# n은 0 <= n < 100 n = input() count = 0 first_n = n # 초기값을 first_n 에 저장 while True: if len(n) == 1: # 숫자가 10보다 작은 값일 때 n = '0' + n new_n = str(int(n [0]) + int(n[1])) n = n[-1] + new_n[-1] count += 1 if n == first_n: break print(count)
Python
복사
2.
정답 풀이
방식 : 정수로 풀이
# 0 <= n <= 99 : 두자리 숫자이므로 자릿수값을 구하려면 10으로 나눈 몫과 나머지를 생각하면 된다. n = int(input()) num = n # 초기값 저장 cnt = 0 while True: ten = n // 10 # 10의 자리수 one = n % 10 # 1의 자리수 new_one = (ten + one) % 10 # 더해서 나오 값의 다시 1의 자리수 n = (one * 10) + new_one cnt += 1 if num == n: break print(cnt)
Python
복사