[BOJ] 11399: ATM



🔒 例

>> 5
3 1 4 3 2

32

🔧 に答える

1. n = int(sys.stdin.readline().rstrip())
2. ppl = [int(sys.stdin.readline().rstrip()) for _ in range(n)]
3. 각 사람이 돈을 인출하는데 걸리는 최소시간
	3.1 순열을 활용하여 모든 시간 계산 후 그 중 최소 선택 => '시간초과'
    3.2 시간이 적게 소요되는 사람부터 인출

🔑 答案用紙

import sys

n = int(sys.stdin.readline().rstrip())
ppl = list(map(int, sys.stdin.readline().split()))

ppl.sort()

for i in range(1, n):
    ppl[i] += ppl[i-1]
    
print(sum(ppl))

💡 コンセプト

# permutation
from itertools import permutations

p = [1, 2, 3]
for pp in permutations(p):
    print(pp)

'''
(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)
'''