문제 링크
https://www.acmicpc.net/problem/2331
2331번: 반복수열
첫째 줄에 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 출력한다.
www.acmicpc.net
A를 문자열로 바꾸고 인덱싱하여 수열 계산을 진행시켰다.
그리고 반복되는 구간이 나타나게 되는(똑같은 수가 나타나는 때)에 index()를 활용하여 그 반복되는 숫자가 배열에 처음 나타나는 인덱스를 저장시켰다.
정답 코드
import sys
A, P = map(int,sys.stdin.readline().split())
arr = [A]
while True:
result = 0
for i in range(len(str(A))):
result += int(str(A)[i])**P
A = result
if arr.count(A):
mark = arr.index(A)
break
else:
arr.append(A)
count = 0
for i in range(mark):
count += 1
print(count)
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
Baekjoon Online Judge 2667번 파이썬 (0) | 2022.08.08 |
---|---|
Baekjoon Online Judge 9466번 파이썬 (0) | 2022.08.05 |
Baekjoon Online Judge 10451번 파이썬 (0) | 2022.08.04 |
Baekjoon Online Judge 1707번 파이썬 (0) | 2022.08.02 |
Baekjoon Online Judge 11724번 파이썬 (0) | 2022.08.01 |