ATM
풀이
문제를 찬찬히 읽으면 금방 해결되는 문제이다.
처음에는 섞든 다 똑같은 것 아닌가 생각했는데 그게 아니라
5 사람이 있으면
1번째 사람이 걸린 시간
2번째 사람이 걸린 시간
3번째 사람이 걸린 시간
4번째 사람이 걸린 시간
5번째 사람이 걸린 시간
의 합이 최소화가 되는 것을 구하는 것이다.
따라서 이것은 오름차순으로 정렬시킨 다음에 슬라이싱을 적용하든 뭘 하든 sum(list [:나+1])들의 합이라고 생각하면 된다.
나는 슬라이싱은 시간이 더 걸릴 것이라 생각했기에 시간을 누적시키는 방법을 사용했다.
따라서 코드는 다음과 같다.
import sys
N = int(sys.stdin.readline().strip())
p_list = list(map(int, sys.stdin.readline().split()))
p_list.sort()
sum_value = 0
s_v = 0
for i in range(N):
s_v += p_list[i]
sum_value += s_v
print(sum_value)
'알고리즘 > 백준' 카테고리의 다른 글
백준 실버4 1620. 나는야 포켓몬 마스터 이다솜 (python) (0) | 2024.03.02 |
---|---|
백준 실버1 1931. 회의실 배정 (python) (0) | 2024.03.02 |
백준 실버4 1764. 듣보잡 (python) (0) | 2024.03.02 |
백준 실버2 1012. 유기농 배추 (python) (1) | 2024.03.01 |
백준 실버2 18111. 마인크래프트 (python) (0) | 2024.02.29 |