11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
문제 풀이 :
각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구할 떄 중요한 점은 대기 시간의 합입니다.
최소로 하기 위해 먼저 걸리는 시간을 정렬해줍니다.
정렬한 후 대기시간을 더해주면 됩니다.
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];
int sum = 0, answer = 0;
for (int i = 0; i < P.length; i++) {
P[i] = sc.nextInt();
}
Arrays.sort(P);
for (int i = 0; i < P.length; i++) {
sum += P[i];
answer += sum;
}
System.out.println(answer);
}
}
'ALGORITHM > 프로그래머스 | 백준 | 삼성 | 카카오' 카테고리의 다른 글
[백준] 1931 회의실 배정 (0) | 2021.01.06 |
---|---|
[백준] 11047 동전0 (0) | 2021.01.06 |
[프로그래머스] 모의고사 (0) | 2020.12.11 |
[백준] 4949번 균형잡힌 세상 (0) | 2020.11.10 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT 캐시 (0) | 2020.11.09 |