개발 연습장/백준 문제풀이

[파이썬, Python] 백준 11399: ATM

LooanCheong 2023. 3. 1. 10:23
반응형

문제

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

 

11399번: ATM

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

www.acmicpc.net

코드

import sys
input = sys.stdin.readline

n = int(input())
time = sorted(list(map(int, input().split())))
cnt = 0
for i in range(n):
    cnt += time[i] * (n-i)    
print(cnt)

설명

먼저 하는 사람의 시간이 짧을수록, 결괏값이 작아지므로 시간을 오름차순으로 정렬해 준다.

이후 시간을 cnt에 더해주는데, 앞의 수는 중복해서 더해지므로(뒤의 사람이 기다리므로)
반복문을 활용하여 더해준다.

반응형