[Python]알고리즘/백준

[그리디 알고리즘] 11399번 - ATM(완전탐색)

HSY_mumu 2022. 3. 21. 16:12
728x90

[백준] 11399번 - ATM

1) 문제 해결 아이디어

각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값은 각 사람의 인출 시간을 오름차순으로 정렬하는 것이다.

각 사람의 인출 소요 시간은 앞 사람의 인출 소요 시간에 자신의 인출 시간을 더한 값이므로 앞 사람들의 인출 시간이 적어야 총 인출 시간이 최소가 된다.

 

2) 소스코드

n = int(input())  # 사람 수
times = list(map(int, input().split()))  # 각 사람의 인출 시간
res = 0  # 총 최소 시간
times.sort()  # 오름차순 정렬

for i in range(n):
  # 0 ~ i까지 더하기
  for j in range(i+1):
    res += times[j]
print(res)
728x90