# 총 시간의 최소값을 구해야함
# 2번이 필요한 시간 = 1번 시간 + 2번 시간. 3번은 1번 + 2번 + 3번 ...
# 오름차순으로 정렬 후 0번부터 현재값까지의 합을 결과값에 더해줌
n = int(input())
times = sorted(list(map(int, input().split())))
result = 0
for i in range(len(times)):
result += sum(times[0:i+1])
print(result)
정렬을 활용하는 간단한 문제! 더해줘야하는 값은 sum과 슬라이싱을 사용해주었다.
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
'study > Algorithm' 카테고리의 다른 글
[백준] 파이썬 18870 : 좌표 압축 (0) | 2024.04.05 |
---|---|
[백준] 파이썬 2805 : 나무 자르기 (0) | 2024.04.05 |
[백준] 파이썬 1715 : 카드 정렬하기 (0) | 2024.04.04 |
[백준] 파이썬 11286 : 절댓값 힙 (0) | 2024.04.04 |
[백준] 파이썬 15903 : 카드 합체놀이 (0) | 2024.04.04 |