11399번
문제
- ATM에 줄을 서있는 사람의 수 N과 각 사람이 돈을 인출하는 시간 P가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 문제
문제 해결 순서
- 시간의 최솟값이 되려면 ATM에 줄 서있는 사람이 오름차순으로 정렬되어 있어야함
Arrays.sort()
를 이용해 입력받은 배열을 정렬한다- 반복문을 돌면서 걸리는 시간을 하나씩 더하고 그 값을
answer
에 더한다 ([1] + [1+2] + [1+2+3] ...)
import java.util.Scanner;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int arr[] = new int[n];
int answer = 0;
int min = 0;
for(int i = 0; i < n; i++){
arr[i] = scan.nextInt();
}
Arrays.sort(arr);
for(int i = 0; i < n; i++){
min += arr[i];
answer += min;
}
System.out.print(answer);
}
}