반응형
풀이
오름차 정렬을 한뒤 인출시간 + 기다린 시간을 이용해서 각 사람이 인출하는데 필요한 시간의 합을 출력한다.
자바
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> m = new ArrayList<>();
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for (int i = 0; i < n; i++) {
m.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(m);
// 오름차 정렬
int sum = 0;
int prev = 0;
for (int i : m) {
sum += prev + i;
// 기다린시간 + 인출하는데 걸린시간
prev += i;
// 기다린시간 += 인출하는데 걸린시간
}
System.out.print(sum);
}
}
파이썬
n = int(input())
m = list(map(int, input().split()))
m.sort()
# 오름차 정렬
prev = 0
sum = 0
for i in m:
sum += prev + i
# 기다린시간 + 인출하는데 걸린시간
prev += i
# 기다린시간 += 인출하는데 걸린시간
print(sum)
'백준' 카테고리의 다른 글
1546번: 평균 (0) | 2022.02.15 |
---|---|
1110번: 더하기 사이클 (0) | 2022.02.15 |
2810번: 컵홀더 (0) | 2022.02.15 |
1931번: 회의실 배정 (0) | 2022.02.14 |
11047번: 동전 0 (0) | 2022.02.14 |