백준 11399번 (2회차)

김경욱·2025년 9월 29일

백준

목록 보기
91/121

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.util.*;

import static java.util.Collections.*;

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 total = 0;
    int sum = 0;
    int[] numbers = new int[N];

    for (int i = 0 ; i < N; i++)
    {
        numbers[i] = Integer.parseInt(st.nextToken());
    }

    List<Integer> list = new ArrayList<>();

    for (int i = 0 ; i < N; i++)
    {
        list.add(numbers[i]);
    }


    Collections.sort(list);

    for (Integer integer : list) {
        total+=integer;
        sum+=total;
    }

    System.out.println(sum);



}
}

리스트에 넣은 후 오름차순으로 만든 후 sum이라는 변수를 사용해서 누적합을 구한다. 누적합을 구할 떈 변수를 하나 더 설정하는 것도 나쁘지 않은 것 같다.

0개의 댓글