개발/Algorithm

BAEKJOON Algorithm_11399번

DevStone 2021. 7. 23. 11:21

데하! 안녕하세요 DevStone입니다!

그리디 문제 두 번째 ATM 문제입니다.

 

저 또한 공부하면서 포스팅하는 거라 제 알고리즘이 최적이거나

정답은 아닙니다! 단순히 참고 용도로 부탁드립니다.


문제

풀이

우선 사람 수 N 값을 받고 result 변수를 선언해줍니다.

 

이제 각 사람별 소요되는 시간을 받을 건데  while문을 사용하여 사람 수에 맞게 입력하지 않으면

다시 입력하도록 설정합니다. 입력된 값은 time이라는 list에 넣어 줍니다.

 

sort함수를 사용하여 오름차순으로 정렬 해 작은 수가 앞으로 오게 합니다.

이제 result 값에 첫 번째 값을 더해준 후 for 문을 이용하여 두 번째 값부터

이전 값을 다음 값에 더한 후 해당 값을 result에 더해주도록 구현합니다.

 

그러면 우리는 원하는 result값을 얻을 수 있습니다.

 

문제링크

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

 

11399번: ATM

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

www.acmicpc.net

예제 소스는 git에서 확인하실 수 있습니다.

https://github.com/Maker-Kim/Study/blob/master/Algorithm/Baekjoon_11399.py

 

GitHub - Maker-Kim/Study

Contribute to Maker-Kim/Study development by creating an account on GitHub.

github.com