알고리즘/백준
[백준] 2331번: 반복수열/ 파이썬
홍우진
2022. 8. 4. 22:55
728x90
반응형
문제 링크
https://www.acmicpc.net/problem/2331
2331번: 반복수열
첫째 줄에 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 출력한다.
www.acmicpc.net
풀이 코드
from sys import stdin
A, P = map(int, stdin.readline().split())
check = [A]
while True:
new = 0
for i in (str(check[-1])):
new += int(i) ** P
if new in check:
while True:
if new == check.pop():
print(len(check))
exit()
else:
check.append(new)
코드 해석
수를 계산 할 때 마다 체크 리스트에 수를 추가한다.
새로운 수가 체크 리스트 안에 있으면 pop을 한 후
체크 리스트의 길이를 출력한다.
728x90
반응형