Dazzling 개발 노트

[백준] 11399 - ATM (Java) 본문

Algorithm/백준

[백준] 11399 - ATM (Java)

dj._.dazzling 2024. 3. 20. 10:39

[백준] 11399 - ATM (Java)

문제

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

풀이/후기

입력 받은 수를 정렬한 후에 누적합을 더했다.

처음에는 사람별로 시간이 정해진줄알고 정렬을 어떻게 할지 고민했는데

그냥 삽질한거였다 ㅎㅎ;

받은 값 그대로 정렬하면 된다.

코드

package Greedy;

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

public class Problem11399_re {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		StringTokenizer str = new StringTokenizer(br.readLine());
		
		int[] list = new int[N];
		
		for (int i=0; i<N; i++) {
			list[i] = Integer.parseInt(str.nextToken());
		}
		
		Arrays.sort(list);
		
		int[] sum = new int[N];
		sum[0] = list[0];
		
		int result = sum[0];
		for (int i=1; i<N; i++) {
			sum[i] = sum[i-1] + list[i];
			result += sum[i];
			//System.out.println(sum[i]+" "+result);
		}
		
		System.out.println(result);
	}
}

Commit

 

참고