반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
ATM에서 대기하는 시간을 구하는 문제입니다.
2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결
사람별로 기다리는 총 시간을 줄이려면, 작업시간이 적은 사람부터 먼저 해야합니다. 마트에서 물건 적은 사람한테 양보해주는 거랑 비슷하죠.(?)
인출 시간이 적은 사람부터 ATM기를 이용하면 기다리는 시간을 최소로 할 수 있습니다.
3. 코드
N = int(input())
waiting = list(map(int, input().split()))
# 정렬
waiting.sort()
time = 0 #기다리는 시간
total = 0 #기다리는 총 시간
for t in waiting:
total += (time + t) #여태까지 기다린 시간 + 인출하는 시간
time += t #t만큼 시간 지남
print(total)
정렬 후 인출시간이 적은 사람부터 인출을 합니다.
한 사람당 소요한 시간은 '대기시간' + '인출시간'입니다. 이들의 총합을 구해 출력합니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 4299 AFC 윔블던 - Python (0) | 2022.02.16 |
---|---|
[분할정복/DQ] 백준 1780 종이의 개수 - Python (0) | 2022.02.16 |
[자료구조/해시] 백준 17219 비밀번호 찾기 - Python (0) | 2022.02.15 |
[자료구조/해시] 백준 1764 듣보잡 - Python (0) | 2022.02.15 |
[구현/수학] 백준 11441 합 구하기 - Python (0) | 2022.02.14 |
댓글