* 체크 리스트
시간
- 즉시 작성 가능
- 1시간 이내
- 1시간 이상
- 하루 이상
이해도
- 이해 완료
- 복습 필요
- 부분 이해
- 이해 불가
체감 난이도
- 최상
- 상
- 중
- 하
- 최하
출처
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씩 줄여나가면서 곱하면 해결되는 문제이다.
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[파이썬] 백준 알고리즘 11047 : 동전 0, python (1) | 2022.10.28 |
---|---|
[파이썬] 백준 알고리즘 3052 : 나머지 (Python) (1) | 2022.10.18 |
[파이썬] 백준 11726 : 2xn 타일링 (python) (0) | 2022.10.06 |
[파이썬] 백준 1003 : 피보나치 함수 (1) | 2022.10.04 |
[파이썬] 백준 2630 : 색종이 만들기 (python) (2) | 2022.10.03 |
댓글