Hey Tech
Greedy알고리즘 #백준11399 #ATM | 파이썬 풀이 본문
728x90
반응형
📚 문제
링크: https://www.acmicpc.net/problem/11399
💡 접근법
소요시간이 가장 적은 사람을 맨 앞 순서로 보내면 해결이 가능합니다.
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
포스팅 내용에 오류가 있거나 조언/지적/피드백 환영입니다!😄
아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다.
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다 :)
고맙습니다.
728x90
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
[알고리즘] 백준#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 |