https://www.acmicpc.net/problem/2331
a, p = map(int, input().split())
nums = [a]
while True:
res = 0
for i in str(nums[-1]):
res += int(i) ** p
if res in nums:
break
nums.append(res)
print(nums.index(res))
이 문제는 주어진 대로 풀면돼서 문제 자체의 이해는 매우 쉬웠지만
풀이방식이 익숙하지않은 나한테는 풀이방식을 보고도 이해하는데 시간이 오래걸렸다.
처음 a
를 리스트로 만들어 nums
에 넣는 것과 for i in str(nums[-1]):
이렇게 반복하면 nums[-1]
은 57이다. 그런데 i는 5와 7로 나누어진다는 것을 몰랐다.
많이 부족한것 같다.
index함수를 활용해 위치를 찾는 것도 익숙하지 않아 생각이 안났는데
이번 기회를 통해 확실히 알아가게 되었다.