DATA101
Greedy알고리즘 #백준11399 #ATM | 파이썬 풀이 본문
📚 문제
링크: https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
💡 접근법
소요시간이 가장 적은 사람을 맨 앞 순서로 보내면 해결이 가능합니다.
N명의 ATM 이용 총 시간은 각 사람마다 기다리는 시간과 소요 시간을 합한 값들을 합계하면 됩니다.
즉, 첫 번째 사람은 p1 시간이 소요되고, 두 번째 사람은 p1 + p2, ... N번째 사람은 p1 + p2 + ... pN이 소요됩니다.
따라서 N명이 모두 ATM을 이용하는 데 필요한 시간을 수식으로 나타내면 "p1*N + p2*(N-1) + ... pN*1" 입니다.
이를 반복문을 통해 사람마다 소요되는 시간을 저장한 리스트에서 인덱싱하여
기다리는 사람 수만큼을 곱하고 합계해 주면 됩니다.
💻 코드
#https://www.acmicpc.net/problem/11399
n = int(input())
p_time = list(map(int, input().split()))
p_time.sort(reverse=True)
answer = 0
for i in range(1, n+1):
answer += i*p_time[i-1]
print(answer)
✅ 정답 확인

👨💻 파이썬 파일(Github)
https://github.com/park-gb/algorithm-problem-solving/blob/main/greedy/boj_11399.py
GitHub - park-gb/algorithm-problem-solving: 알고리즘 문제 풀이 및 정리
알고리즘 문제 풀이 및 정리. Contribute to park-gb/algorithm-problem-solving development by creating an account on GitHub.
github.com
포스팅 내용에 오류가 있거나 조언/지적/피드백 환영입니다!😄
아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다.
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다 :)
고맙습니다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
[알고리즘] 백준#13458: 시험 감독/Python (0) | 2022.04.24 |
---|---|
[Java] 다이아몬드 형태의 별(*) 출력 프로그램 문제 풀이 (0) | 2021.12.16 |
문자열처리 #백준11718 #그대로 출력하기 | 파이썬 풀이 (0) | 2021.10.13 |
문자열처리 #백준1316 #그룹 단어 체커 | 파이썬 풀이 (0) | 2021.10.12 |
문자열처리 #백준1427 #소트인사이드 | 파이썬 풀이 (0) | 2021.10.11 |