⊙ 문제

 

사람수만큼 걸리는 시간을 입력받았을때 걸리는 시간을 최소화 하려면

시간이 적게 걸리는 사람부터 인출을 하면 된다.

따라서 사람수 만큼 시간을 입력받고 오름차순 정렬을 해주면 문제를 해결할 수 있다.

이때 사람마다 걸리는 시간과 총 걸리는 시간 변수를 따로 만들어 답을 얻을 수 있다.

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

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		int n = in.nextInt();	// 사람수 입력받기
		int p[] = new int[n];	// 각각 사람별 걸리는 시간
		int delayTime=0;
		int sum = 0;
		
		// 사람별 걸리는 시간 입력받기
		for(int i=0;i<n;i++) {
			p[i] = in.nextInt();
		}
		Arrays.sort(p);
		
		for(int i=0;i<p.length;i++) {
			delayTime = delayTime + p[i];;
			sum = sum + delayTime;
		}
		
		System.out.println(sum);
		
	}

}

 

+ Recent posts