본문 바로가기
백준

[백준] 1758 알바생 강호 - Python

by whereisco 2023. 5. 24.

문제

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

 

1758번: 알바생 강호

첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같

www.acmicpc.net

위 문제는 강호가 받을 수 있는 팁의 최댓값을 구해주어야 합니다.

팁은 (각 손님이 원래 생각했던 금액) - (받은 등수 -1)로 계산할 수 있으므로, 팁의 최댓값을 구하기 위해서는 주어지는 각 손님의 원래 손님이 생각했던 금액을 내림차순 정렬해주어야 합니다.

이를 통해 팁을 앞부터 순차적으로 구해주면 팁의 최댓값을 구해줄 수 있습니다.

Python

import sys
input = sys.stdin.readline
n = int(input())
people = []
for i in range(n):
    people.append(int(input()))

people.sort(reverse=True)
tip = 0

for idx,val in enumerate(people):
    if val - ((idx+1)-1) < 0:
        continue
    tip += val - ((idx+1)-1)
print(tip)

'백준' 카테고리의 다른 글

[백준] 11508 2 + 1 세일 - Python  (0) 2023.05.24
[백준] 11399 ATM - Python  (1) 2023.05.24
[백준] 1343 폴리오미노 - Python  (0) 2023.05.24
[백준] 1654 랜선 자르기 - Python  (0) 2023.03.02
[백준] 12891 DNA 비밀번호 - Python  (0) 2023.02.28