Business logic/백준
[11399번] ATM
시뻘건 튼튼발자
2020. 4. 12. 16:04
반응형
문제 기출 : [https://www.acmicpc.net/problem/11399]

풀이 방법
|
[그리디알고리즘] 접근
굉장히 쉽게 접근할 수 있다.
Pi를 오름차순으로 정렬해서 최소로 걸리는 사람부터 탐색하는 것이 기본. 다음과 같은 조건을 만족하면 된다. 기다리는 시간 = i번째 사람이 돈 뽑는데 걸리는 시간 x (사람 수 - i)
즉 기다리는 시간을 누적해 나아가면 답이 나올 것이다.
|
문제 풀이
public class Main {
public static void main(String[] args) {
int answer = 0;
Scanner sc = new Scanner(System.in);
int peopleCount = sc.nextInt();
int[] peopleTime = new int[peopleCount];
for (int i = 0; i < peopleCount; i++) {
peopleTime[i] = sc.nextInt();
}
Arrays.sort(peopleTime);
for (int i = 0; i < peopleCount; i++) {
answer += peopleTime[i] * (peopleCount - i);
}
System.out.println(answer);
sc.close();
}
}반응형