문제를보고 운영체제의 SJF 스케쥴링이 떠올랐다.
Shortest Job First(SJF) 즉 가장 인출시간이 짧은 사람을 우선으로 정렬하고 인출시간을 구하면 된다.
import sys
n = map(int, sys.stdin.readline())
arr = list(map(int,sys.stdin.readline().split()))
arr.sort()
waiting_time=0
sum = 0
for i in arr:
waiting_time += i
sum += waiting_time
print(sum)
개인당 대기시간(waiting_time)을 각각 구해주고
그 합(sum)을 출력해준다.
'알고리즘' 카테고리의 다른 글
[파이썬] 백준1918 후위표기식 python (0) | 2021.05.07 |
---|---|
[백준 2156 파이썬] 포도주 시식 (0) | 2021.03.12 |
[백준 1931 파이썬] 회의실 배정 (0) | 2021.03.10 |
[백준 11047] 파이썬 동전 0 (1) | 2021.03.07 |
[백준 파이썬 1002] 백준 python 터렛 1002번 (0) | 2020.11.15 |
댓글