728x90
https://www.acmicpc.net/problem/11399
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(), t = 0, sum_t = 0;
int p[] = new int[n];
for( int i = 0; i < n; i++ )
p[i] = sc.nextInt();
Arrays.sort( p );
for( int i = 0; i < n; i++ ) {
t += p[i];
p[i] = t;
sum_t += p[i];
}
System.out.println( sum_t );
sc.close();
}
}
바로 전 문제와 마찬가지로 정렬만 잘해주면 쉽게 풀 수 있음
시간이 덜 걸리는 순으로 정렬하면 기다리는 시간이 최소가 됨
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 백준 온라인 저지 ( BOJ )' 카테고리의 다른 글
[백준(Baekjoon)][자바(java)] 2748 : 피보나치 수 2 / 동적 계획법 1 (0) | 2020.06.19 |
---|---|
[백준(Baekjoon)][자바(java)] 1541 : 잃어버린 괄호 / 그리디 알고리즘 (0) | 2020.05.11 |
[백준(Baekjoon)][자바(java)] 1931 : 회의실배정 / 그리디 알고리즘 (0) | 2020.05.11 |
[백준(Baekjoon)][자바(java)] 11047 : 동전 0 / 그리디 알고리즘 (0) | 2020.05.11 |
[백준(Baekjoon)][자바(java)] 1655 : 가운데를 말해요 / 우선순위 큐 (0) | 2020.04.28 |