알고리즘 공부/백준
(Python)백준 코딩테스트 연습 - ATM(11399)
HRuler
2023. 1. 10. 15:50
1. 문제
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
2. 풀이
# n : 사람 수
n = int(input())
# p_l : 인출 시간 리스트
p_l = list(map(int, input().split()))
p_l.sort()
# t_sum : 총 인출 시간
t_sum = 0
for i, v in enumerate(p_l):
t_sum += v * (n - i)
print(t_sum)
3. 후기
- 어렵지 않은 문제였다. 가장 작은 인출 시간을 구하기 위해서는 인출 시간이 적게 드는 사람 순으로 줄을 세운다면 해결된다. 코드 상에서는 인출 시간을 리스트로 입력받은 후 리스트를 오름차순으로 정렬하는 방법으로 해결하였다.