코딩 퀴즈 - ATM 문제
이번 코딩 퀴즈는 탐욕 알고리즘을 사용하여 ATM에서 사람들이 돈을 인출하는 데 필요한 최소 시간을 계산하는 함수를 작성합니다.
사람들은 줄을 서서 기다리고 있으며, 각 사람이 돈을 인출하는 데 걸리는 시간이 주어집니다.
목표는 모든 사람들이 돈을 인출하는 데 걸리는 총 시간을 최소화하는 것입니다.
사람들이 줄을 서 있는 순서를 최적화하여, 모든 사람들이 돈을 인출하는 데 걸리는 총 시간을 계산하는 프로그램을 작성합니다.
def solution(times): # 여기에 코드를 작성하세요 return
제한 사항
-
줄을 서 있는 사람들의 수는 1명 이상 1,000명 이하입니다.
-
각 사람이 ATM에서 돈을 인출하는 데 걸리는 시간은 1분 이상 1,000분 이하입니다.
입출력 예시
-
입력:
[3, 1, 4, 3, 2]
(사람들이 돈을 인출하는 데 걸리는 시간) -
출력:
32
(총 걸리는 시간의 최소값)
입출력 예시 설명
예시에서 각 사람이 돈을 인출하는 데 걸리는 시간은 [3, 1, 4, 3, 2]분입니다. 가장 적은 시간이 걸리는 순서대로 줄을 세운다면 [1, 2, 3, 3, 4]가 됩니다. 이 순서대로 돈을 인출할 경우, 각 사람이 기다려야 하는 시간은 다음과 같습니다:
-
첫 번째 사람: 1분
-
두 번째 사람: 1(첫 번째 사람) + 2 = 3분
-
세 번째 사람: 3(두 번째 사람까지) + 3 = 6분
-
네 번째 사람: 6(세 번째 사람까지) + 3 = 9분
-
다섯 번째 사람: 9(네 번째 사람까지) + 4 = 13분
따라서 총 걸리는 시간은 1 + 3 + 6 + 9 + 13 = 32분입니다.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help