coding_test
[99클럽 5기 코테 스터디 TIL 17일차] ATM (feat. 탐욕법(Greedy))
jeri
2025. 2. 11. 11:45
반응형
1) 문제
https://www.acmicpc.net/problem/11399
2) 문제풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 입력 받기
int N = sc.nextInt(); // 사람의 수
int[] P = new int[N]; // 각 사람이 인출하는데 걸리는 시간
for (int i = 0; i < N; i++) {
P[i] = sc.nextInt();
}
// 1. 인출 시간을 오름차순 정렬
Arrays.sort(P);
int totalTime = 0; // 최종 결과 (모든 사람이 기다린 시간의 합)
int waitingTime = 0; // 각 사람이 기다린 누적 시간
// 2. 최소 대기 시간 계산
for (int i = 0; i < N; i++) {
waitingTime += P[i]; // 현재 사람이 기다려야 하는 총 시간
totalTime += waitingTime; // 이를 총 누적 시간에 더함
}
// 결과 출력
System.out.println(totalTime);
sc.close();
}
}
반응형