본문 바로가기

BOJ/Python

[BOJ/백준] 10539 - 수빈이와 수열 (Python)

문제

문제링크

수열 A에서 i번째까지 요소의 합을 i로 나눈 값이 수열 B에 저장된다.

수열 B의 길이와 요소가 주어질 떄, 수열 A를 구하라.

 

풀이

입력받은 각 요소에 위치(index+1)을 곱하면 수열 A에서의 i번째까지의 합이 된다.

이 값에 수열A에 저장되어있는 값들의 합을 뺀 값은 A에서의 i번째 요소의 값이다.

이 값을 A에 추가하고 마지막 요소까지 처리가 끝나면, 원래의 수열 A가 된다.

 

코드

n=int(input())
B_nums=list(map(int, input().split()))

A_nums=[]
for i in range(n):
    B_nums[i]*=(i+1)
    A_nums.append(B_nums[i]-sum(A_nums))
print(*A_nums, sep=' ')