https://www.acmicpc.net/problem/1110
1. 내가 작성한 코드 (틀림, 수정 필요)
c = 0
sum = '0'
new = input()
#while new != str(sum):
if int(new) < 10:
new = '0' + new
c = c+1
print(new, sum)
else:
sum = int(new[0])+int(new[1])
new = new[1] + str(sum[-1])
c = c+1
print(new, sum)
나머지랑 몫을 이용할 생각을 진짜 1도 못했다!
코테에서 가장 무서운 점이 '잘못된 방향을 고칠 줄 모르는 것'이라는 걸 새삼 깨달음,,
위의 코드처럼 문자열의 자릿수를 이용해서 풀고 있었는데 도저히 풀리지가 않음,,,
아마 좀 더 고민하면 될 거 같긴 하지만 ! 너무나 비효율적인 것 같다.
구글링을 해보고 아차 싶었잖슴,, 이렇게 쉬운 문제였다니 😎
2. 모범답안
input_num = int(input())
num = input_num # num 변수에 input_num을 지정
cnt = 0
while True:
sum_num = (num // 10) + (num % 10) # 각 자릿수를 더한수
new_num = ((num % 10) * 10) + (sum_num % 10) # 새로 만들어지는 수
cnt += 1 # 사이클 카운트
if new_num == input_num :
break
num = new_num # num 변수에 last_num을 지정
print(cnt)
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 3052번 나머지(with python) (0) | 2023.01.18 |
---|---|
[백준] 5597번 과제 안 내신 분..?(with python) (0) | 2023.01.18 |
[백준] 11021번 A+B-7(with python) (0) | 2023.01.17 |
[백준] 25304번 영수증(with python) (0) | 2023.01.17 |
[백준] 10989번 수 정렬하기3(with python) (0) | 2023.01.13 |
댓글