it
[파이썬] 백준 11399번 ATM
두두100
2022. 3. 20. 20:56
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
한 번에 풀려서 너무 기분좋은 문제~
n=int(input())
A=list(map(int,input().split()))
A.sort()
B=[0]*int(len(A))
for i in range(len(A)):
if i==0:
B[i]=A[i]
else:
B[i]=B[i-1]+A[i]
print(sum(B))
결국 각자의 시간을 합해서 가장 최소의 시간을 원한다는 것은->첫사람일수록 시간이 짧아야하고, 마지막 사람일수록 긴 시간을 할당해야한다.
따라서 A.sort()로 리스트 안의 원소들을 크기 순서로 정렬해서 해결하였다.
