알고리즘/백준
[백준 11399] 그리드-ATM | JAVA
jiiihye
2022. 2. 6. 23:45
⊙ 문제


사람수만큼 걸리는 시간을 입력받았을때 걸리는 시간을 최소화 하려면
시간이 적게 걸리는 사람부터 인출을 하면 된다.
따라서 사람수 만큼 시간을 입력받고 오름차순 정렬을 해주면 문제를 해결할 수 있다.
이때 사람마다 걸리는 시간과 총 걸리는 시간 변수를 따로 만들어 답을 얻을 수 있다.
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);
}
}