Be Developer

[백준/BOJ] 11399번 : ATM (Java) 본문

Algorithm

[백준/BOJ] 11399번 : ATM (Java)

yujin_dev 2019. 8. 19. 13:05
반응형
문제요약

줄을 서 있는 N명의 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하시오.

 

풀이

입력 받은 N명의 인출시간을 오름차순으로 정렬한 후 앞에서부터 차례로 누적해 더한 값(sum)을 결과 값(result)에 더한다.

 

코드

시간 복잡도 O(N)

import java.util.Arrays;
import java.util.Scanner;

public class BOJ_11399 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int[] times = new int[n];
		int sum = 0, result = 0;
		
		for (int i=0; i<n; i++) {
			times[i] = scan.nextInt();
		}
		
		Arrays.sort(times);
		
		for (int i=0; i<n; i++) {
			sum += times[i];
			result += sum;
		}
		
		System.out.println(result);
		scan.close();
	}

}
반응형
Comments