반응형
문제
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에 더해주는데, 앞의 수는 중복해서 더해지므로(뒤의 사람이 기다리므로)
반복문을 활용하여 더해준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 10828: 스택 (0) | 2023.03.03 |
---|---|
[파이썬, Python] 백준 13305: 주유소 (0) | 2023.03.02 |
[파이썬, Python] 백준 1676: 팩토리얼 0의 개수 (0) | 2023.02.28 |
[파이썬, Python] 백준 11050: 이항 계수 1 (0) | 2023.02.27 |
[파이썬, Python] 백준 2609: 최대공약수와 최소공배수 (0) | 2023.02.24 |