코린이의 소소한 공부노트

[백준 온라인 저지] 11399. ATM 본문

코딩테스트 풀이/JAVA

[백준 온라인 저지] 11399. ATM

무지맘 2023. 6. 28. 21:36

인하은행에는 ATM1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 P_i분이다.

줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 P_i가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오.

 

1. 입력

- 첫째 줄에 사람의 수 N(1 N 1,000)이 주어진다.

- 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 Pi 1,000)

 

2. 출력

- 첫째 줄에 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 출력한다.

 

3. 예제

 

4. 코드

import java.util.*;
import java.io.*;
class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.valueOf(br.readLine());
        StringTokenizer token = new StringTokenizer(br.readLine());
        int[] p = new int[n];
        for(int i=0 ; i<n ; i++)
            p[i] = Integer.valueOf(token.nextToken());
        Arrays.sort(p);
        int ans = p[0];
        for(int i=1 ; i<n ; i++){
            p[i] += p[i-1];
            ans += p[i];
        }
        System.out.print(ans);
    }
}

- 14428KB, 136ms