반복 순열 - 실버 4

2023. 1. 5. 17:06코딩 테스트 준비

728x90
반응형
A, P = map(int, input().split())
dp = [A]
same = 0

while same == 0:
  num = 0
  for j in str(dp[-1]):
    num += int(j)**P
  if num in dp:
    same = num
    break
  dp.append(num)

print(dp.index(same))

간단하게 스택의 가장 위 값을 문자열로 변경하고 각 자리 수마다 p만큼 제곱해준 값을 더한 변수를 스택에 추가한다.

만약 동일한 값이 이미 스택에 있다면 반복문을 멈추고 그 값의 인덱스를 찾아주면 해결된다.

728x90
반응형

'코딩 테스트 준비' 카테고리의 다른 글

2xn 타일링 - 실버 3  (0) 2023.01.05
1로 만들기 - 실버 3  (0) 2023.01.05
순열 싸이클 - 실버 3  (0) 2023.01.04
피보나치 수 2 – 브론즈 1  (0) 2023.01.03
섬의 개수 – 실버2  (0) 2023.01.03