6월 3주차 - 탐욕 [백준, 자바] 11399번: ATM

jinvicky·2024년 6월 9일
0

ALG

목록 보기
55/62
post-thumbnail

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

저걸 정렬해서 하면 되겠다고 생각했는데, Arrays.sort()를 써도 성능이 괜찮은 걸까?
생각을 했다. 지르고 봤는데 맞았음.

Arrays.sort() 또는 Counting Sort 알고리즘을 쓰는 경우가 있다.

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new java.io.InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] input = new int[N];

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

        int[] greedy = new int[N];

        Arrays.sort(input);

        for(int i = 0; i < N; i++){
            for(int j = 0; j <= i; j++){
                int prevInput = input[j];
                greedy[i] += prevInput;
            }
        }

        int sum = 0;
        for(int i = 0; i < N; i++) {
            sum += greedy[i];
        }
        System.out.println(sum);
    }
}
profile
일단 쓰고 본다

0개의 댓글