728x90
2021.11.26
백준 11399
# 11399
N = int(input()) # 사람의 수
P = list(map(int,input().split())) # 인출하는데 걸리는 시간 Pi
R = [0] # 걸린 시간을 차례로 더한 리스트
for i in range(N):
R.append(R[i]+min(P)) # 리스트 이전 값과 최솟값 더하기
del P[P.index(min(P))] # 최솟값 삭제
print(sum(R))
문제를 보면 '인출하는데 걸리는 시간'을 작은 수부터 차례로 정렬해서 더해 나가면
가장 작은 값을 얻을 수 있는 것을 알 수 있다.
그래서 처음에는 set() 함수를 사용할까 했는데 그러면 중복 값들이 삭제가 되니
그냥 min()으로 가장 작은 값을 불러오고 거기에 이전 최솟값들의 합을 더해줘서
각 사람들의 걸린 시간 리스트인 R을 만들어줬다.
728x90
'Algorithm' 카테고리의 다른 글
백준 9020 골드바흐의 추측_파이썬 (0) | 2021.12.03 |
---|---|
백준 2581 소수 파이썬 (0) | 2021.12.02 |
1124_ TIL (0) | 2021.11.24 |
1123_ TIL (0) | 2021.11.24 |
1122_ TIL (0) | 2021.11.22 |