CS/알고리즘_문제풀이(자바)

수빈이와 수열

Jedy_Kim 2021. 9. 8. 22:43
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)이 주어지고, 둘째 줄에는 수열 Bi를 이루는 N개의 정수가 주어진다. (1 ≤ Bi ≤ 109)

출력

첫째 줄에는 수열 A를 이루는 N개의 정수를 출력한다. (1 ≤ Ai ≤ 109)

예제 입력

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
23
24
25
26
27
28
29
30
31
32
33
import java.util.*;
import java.io.*;
 
public class Main{
  public static void main(String[] args) throws Exception {
 
    // Please Enter Your Code Here
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());
    
    int N = Integer.parseInt(st.nextToken());
    
    int[] B = new int[N];
    st = new StringTokenizer(br.readLine());
    for(int i = 0; i < N; i++) {
      B[i] = Integer.parseInt(st.nextToken());
    }
    
    int[] A = new int[N];
    A[0= B[0* 1;
    
    int mySum = A[0];
    for(int i = 1; i < N; i++) {
      A[i] = (B[i]*(i+1)) - mySum;
      mySum += A[i];
    }
    
    for(int i = 0; i < N; i++) {
      System.out.print(A[i] + " ");
    }
    
  }
}
cs

 

반응형

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

분수 합  (0) 2021.09.08
최소공배수  (0) 2021.09.08
피보나치 수  (0) 2021.09.08
다음수  (0) 2021.09.08
k번째 큰 수 찾기  (0) 2021.09.07