[백준/파이썬] 1551번 수열의 변화 풀이

업데이트:



문제 정보


풀이

문제

수열에서 인접 원소 차이로 새 수열을 만드는 연산을 K번 반복한 결과를 출력하는 문제입니다.

코드

n, k = map(int, input().split())

a = [list(map(int, input().split(','))),[]]

for i in range(k):
    a[(i+1)%2].clear()
    for j in range(n-i-1): a[(i+1)%2].append(a[i%2][j+1]-a[i%2][j])
    
print(*a[k%2], sep=',')

설명

두 개의 리스트를 번갈아 사용해 매 단계마다 next[j] = cur[j+1] - cur[j]를 계산합니다.

K번 반복 후 남은 수열을 쉼표로 출력합니다.



댓글남기기