시뻘건 개발 도전기

[11399번] ATM 본문

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();
	}
}
반응형

'Business logic > 백준' 카테고리의 다른 글

[1541번] 잃어버린 괄호  (0) 2020.04.12
[1439번] 뒤집기  (0) 2020.04.12
[1138번] 한 줄로 서기  (0) 2020.04.12
[1120번] 문자열  (0) 2020.04.11
[11047번] 동전 0  (0) 2020.04.11
Comments