티스토리 뷰

알고리즘/백준

[BAEKJOON]10539 수빈이와 수열

응애~ 개발자 2023. 9. 1. 00:38
728x90
반응형

문제 요약

  • 알고리즘 분류: 수학, 배열
  • 난이도: Bronze2
  • 문제내용:
    • 수 수열 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가 된다. 
  • 사이트: https://www.acmicpc.net/problem/10539
 

10539번: 수빈이와 수열

수빈이는 심심해서 수열을 가지고 놀고 있다. 먼저, 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다.  예를 들어, 수열 A가 1, 3,

www.acmicpc.net

문제풀이

 이번 문제는 수열 결과값가지고 A의 수열을 구해야한다. 일단 B의 수열은 A의 수열에서 i 항까지 더해서 i를 나누면 된다.

즉 B의 i 값은 (A1 + A2 + A3 + ..... + Ai) / i라고 보면 된다. 그럼 Ai는 반대로 구하면 된다. 따라서 아래의 식이 나온다.

 

 

Code

Python

N, B = int(input()), list(map(int, input().split()))

A = [B[0]]
for i in range(1, N):
    A.append(B[i] * (i + 1) - sum(A))

for i in A : print(i, end = ' ')

Java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
	
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		
		int n = Integer.parseInt(br.readLine());
		StringTokenizer st = new StringTokenizer(br.readLine());
		int[] arr = new int[n];
		int[] result = new int[n];
		for(int i = 0; i <n; i++) {
			arr[i] = Integer.parseInt(st.nextToken());
		}
		result[0] = arr[0];
		for(int i = 1; i <n; i++) {
			int sum = 0;
			for(int j = 0; j < i ; j++) {
			 sum += result[j];
			}
			result[i] = arr[i] *(i + 1) - sum;
		}
		
		StringBuilder sb = new StringBuilder();
		Arrays.stream(result).forEach(num -> sb.append(num).append(" "));
		System.out.println(sb.toString().trim());
	}	
	
}
728x90
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[BAEKJOON]17389 보너스 점수  (2) 2023.12.26
[BAEKJOON]17269 이름궁합 테스트  (0) 2023.12.23
[BAEKJOON]15969 행복  (0) 2023.08.27
[BAEKJOON]1926 그림  (2) 2023.03.06
[BAEKJOON]2529 부등호  (0) 2023.03.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함