본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]2331번 반복수열

by 현장 2021. 8. 23.

-코드

a, p = map(int, input().split())
arr = [a]
while 1:
    num = 0
    for i in str(arr[-1]):
        num += int(i) ** p
    if num in arr:
        a = num
        break
    arr.append(num)
for i in range(len(arr)):
    if arr[i] == num:
        print(i)
        break

처음에 어느정도 작성하다가 숫자의 각 자리수마다 계산하는 부분을 해결하지 못해서 질문 계시판과 검색을 해봤는데 원래 input으로 받서 int로 바꿔서 하려했으나 실행이 안되어서 str로 바꾸어서 작성하니 해결했습니다.