CS/알고리즘_문제풀이(파이썬)

PROSJEK

Jedy_Kim 2021. 6. 24. 14:24
728x90

문제

민건이는 수학 수업시간동안 재밌는 방법으로 수학을 연습하고 있다.

먼저 민건이는 정수 수열 A를 작성했다.

그리고 나서 그 아래에 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다.

예를 들어 , 만약 수열 A가 1, 3, 2, 6, 8 이라면 수열 B는 1/1, (1+3)/2 , (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5 즉, 1, 2, 2, 3, 4 가 된다.

수열 B가 주어졌을 때 수열 A를 구하는 프로그램을 작성하시오.

 

입력

첫째줄에 수열 B의 길이를 나타내는 N이 주어진다.(1 <= N <= 100)

두번째 줄에 수열 B를 구성하는 N개의 요소가 주어진다. Bi (1 <= Bi <= 10^9)

 

출력

첫째 줄에 수열 A를 이루는 N개의 정수를 출력해라 (1 <= Ai <= 10^9)

NOTE : 수열 A의 요소들은 정수이다.

 

예제 입력

1 2

예제 출력

2

 

예제 입력

4 3 2 3 5

예제 출력

3 1 5 11

 

예제 입력

5 1 2 2 3 4

예제 출력

1 3 2 6 8

 

#코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
 
 
def doOper():
  global n, b
  
  check = [0]*1000  
  
  check[0= b[0
  for i in range(1, n): 
    check[i] = (b[i]*(i+1)) - (b[i-1]*i)
    
  for i in range(n):
    print(check[i], end=' ')
  
 
if __name__ == "__main__":
  input = sys.stdin.readline
  n = int(input())
  b = list(map(int, input().split()))
  
  doOper()
cs

 

반응형

'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글

fractionsum  (0) 2021.06.24
lcm  (0) 2021.06.24
fibonacci  (0) 2021.06.24
nextnum  (0) 2021.06.24
행렬 뒤집기 2  (0) 2021.06.23