호기심 많은 분석가

[백준 11399] ATM (Python) 본문

Coding/Coding Test & Algorithm

[백준 11399] ATM (Python)

DA Hun 2021. 6. 11. 22:16
 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

from sys import stdin
n = int(stdin.readline())
ans_list = list(map(int, stdin.readline().split()))

ans_list = sorted(ans_list)

result = 0
for i in range(len(ans_list)):
  result += ans_list[i]*(len(ans_list)-i)
print(result)

 요번 문제는 깔끔히 잘 풀었다고 생각한다. 핵심은 최대한 덜 기다리기 위해 인출하는 데 시간이 짧은 순서대로 sort 해주고, 한 사람에게 걸린 시간이 그 뒤 모든 인원에게도 적용이 되기에 len(array)만큼을 곱해주며 문제를 마무리했다.