Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

forDevLife

[백준] 11399 - ATM (자바) 본문

알고리즘

[백준] 11399 - ATM (자바)

JH_Lucid 2021. 4. 30. 14:44

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
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[] P = new int[N];
        for (int i = 0; i < N; i++) {
            P[i] = Integer.parseInt(st.nextToken());
        }
        Arrays.sort(P);

        //counting Sort
//        while (N-- > 0) {
//            P[Integer.parseInt(st.nextToken())]++;
//        }

        int[] acc = new int[N];
        int sum = 0;
        for (int i = 0; i < N; i++) {
            if ((i - 1) != -1) {
                acc[i] = acc[i - 1] + P[i];
                sum += acc[i];
            } else {
                acc[i] = P[i];
                sum += acc[i];
            }
        }
        System.out.print(sum);
    }
}

- counting sort를 이용하면 더 빠르게 풀 수 있다.(시간 제한 클 경우, arrays.sort로는 어려울 수 있다.)

- 입력 받자마자 정렬하는 방식 (st-lab.tistory.com/104)

 

Comments