티스토리 뷰

학기 중에는 해설 로직을 포함하지 않습니다.

문제

https://www.acmicpc.net/problem/11399

 

11399번: ATM

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

www.acmicpc.net

언어

자바 Java

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

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());
        Integer[] persons = new Integer[n];
        String[] input = br.readLine().split(" ");
        for (int i = 0; i < input.length; i++)
            persons[i] = Integer.parseInt(input[i]);

        Arrays.sort(persons, Integer::compare);

        List<Integer> result = new ArrayList<>();
        result.add(0);
        for(int i = 0; i < n; i++) {
            int withDrawTime = getWithDrawTime(persons, result.get(result.size() - 1), i);
            result.add(withDrawTime);
        }

        long sum = result.stream().mapToInt(Integer::intValue).sum();
        System.out.println(sum);
    }

    private static int getWithDrawTime(Integer[] persons, int prevTime, int order) {
        return prevTime + persons[order];
    }
}

 

Total
Today
Yesterday
최근에 올라온 글
«   2024/11   »
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