본문 바로가기

Algorithm

[파이썬] 백준 11399번: ATM

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

 

11399번: ATM

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

www.acmicpc.net

 

문제 풀이

주어진 시간들을 작은 수부터 정렬해준 뒤, 이전 시간이랑 계속 더해주는 간단한 방법입니다.

 

답1

n = int(input())
time_list = list(map(int, input().split()))
time_list.sort()

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

 

답2

n = int(input())
time_list = list(map(int, input().split()))
time_list.sort()

ans = 0
for i in range(1, n+1):
    ans += sum(time_list[:i])
    
print(ans)