[Python] 백준 11399번: ATM

Jonie Kwon·2022년 4월 8일
0

https://www.acmicpc.net/problem/11399

그리디 알고리즘 문제

  • 총 대기시간을 단축하기 위해 정렬으로 시간이 적게 걸리는 사람을 우선 배치
  • i번째 사람이 걸리는 시간 = i-1번째 사람이 걸리는 총 시간 + i번째 사람의 시간

코드

import sys
input = sys.stdin.readline
n = int(input())
q = list(map(int, input().split()))
# 시간이 적게 걸리는 사람을 먼저 배치해야 총 대기시간이 짧아지므로
q.sort()

time = [0] * n
time[0] = q[0]
# i번째 사람이 걸리는 시간 = i-1번째 사람의 소요시간(대기시간) + 본인 시간
for i in range(1,n):
    time[i] = time[i-1]+q[i]
print(sum(time))

profile
메모하는 습관

0개의 댓글