본문 바로가기
Coding Test

백준 11399 - ATM( Python )

by Hyeonlog 2022. 11. 23.
728x90

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

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

예제 풀이

n = 5

p = [ 3, 1, 4, 3, 2 ]

 

적게 기다리는 순으로 우선 오름 차순 정렬을 해줘야한다

sorted = [ 1, 2, 3, 3, 4 ]

1

1 + 2 = 3

1 + 2 + 3 = 6

1 + 2 + 3 + 3 = 9

1 + 2 + 3 + 3 + 4 = 13

=> 1 + 3 + 6 + 9 + 13 = 32

 

즉, 1부터 이전 값을 계속 반복하며 더하는 문제이다. 2중 for문으로 해결이 가능하다

n = int(input())
times = list(map(int, input().split()))

times.sort()
sum = 0

for i in range(n + 1):
    for j in range(i):
        sum += times[j]
print(sum)
728x90
반응형