11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
문제를 보게 되면 N명의 사람이 있고 사람마다 돈 뽑는 시간을 주어지게 된다. 그리고 모두가 돈을 뽑았을 때 걸리는 시간의 최소를 구하는 문제임을 알 수 있다.
알고리즘을 다음과 같이 생각해 볼 수 있었다.
1. N명의 사람의 걸리는 시간을 리스트에 저장해 줌.
2. 리스트를 정렬함으로 작은 수 부터 놔둔다
3. for문을 두번째 인덱스부터 마지막까지 돌리면서 리스트를 업데이트 한다.
3 - 1. 자신의 앞의 값을 더한 값으로 업데이트해준다.
4. 리스트의 합을 출력한다.
코드는 아래와 같다.
'언어 > Python' 카테고리의 다른 글
[파이썬] 백준 1260번: DFS와 BFS (0) | 2021.01.21 |
---|---|
[파이썬] 백준 1916번: 최소비용 구하기 (0) | 2021.01.20 |
[파이썬] 백준 7576번: 토마토 (0) | 2021.01.20 |
[파이썬] 백준 2667번: 단지번호붙이기 (0) | 2021.01.20 |
[파이썬] 백준 2178번: 미로 탐색 (0) | 2021.01.20 |