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. 후기
- 어렵지 않은 문제였다. 가장 작은 인출 시간을 구하기 위해서는 인출 시간이 적게 드는 사람 순으로 줄을 세운다면 해결된다. 코드 상에서는 인출 시간을 리스트로 입력받은 후 리스트를 오름차순으로 정렬하는 방법으로 해결하였다.
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 듣보잡(1764) (0) | 2023.01.12 |
---|---|
(Python)백준 코딩테스트 연습 - 체스판 다시 칠하기(1018) (0) | 2023.01.10 |
(Python)백준 코딩테스트 연습 - 큐(10845) (0) | 2023.01.10 |
(Python)백준 코딩테스트 연습 - 나는야 포켓몬 마스터 이다솜(1620) (0) | 2023.01.09 |
(Python)백준 코딩테스트 연습 - 제로(10773) (0) | 2023.01.09 |