본문 바로가기
프로그래밍/알고리즘

[파이썬] 백준 11399 : ATM (python)

by 철인애슬론 2022. 10. 8.

* 체크 리스트


시간

  1. 즉시 작성 가능
  2. 1시간 이내
  3. 1시간 이상
  4. 하루 이상

이해도

  1. 이해 완료
  2. 복습 필요
  3. 부분 이해
  4. 이해 불가

체감 난이도

  1. 최상
  2. 최하

출처

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

 

11399번: ATM

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

www.acmicpc.net

해결 방법 - 정렬 후 합하기

N = int(input())
timeP = list(map(int, input().split()))
sumTime = 0

timeP.sort()
for i in timeP:
    sumTime += i*N
    N -= 1

print(sumTime)

정렬(sort())를 사용하기 위해 입력값(tmeP)은 리스트로 받았으며, 그 값을 정렬 후 차례대로 대입하여 문제를 해결하였다.

해결

문제에 답이 있는 경우다. 가장 시간이 적게 걸리는 순서대로 정렬을 한 뒤에 작은 순서대로 N이 1이 될 때까지 1씩 줄여나가면서 곱하면 해결되는 문제이다.

 

반응형

댓글