본문 바로가기
알고리즘/그리디

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

by 임짠짠 2022. 3. 28.
반응형
 

1758번: 알바생 강호

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

www.acmicpc.net

 

코드

import sys
n = int(input())
n_list = []
for _ in range(n):
	a = int(sys.stdin.readline())
	n_list.append(a)
n_list.sort(reverse=True)
ans = 0
for i in range(n):
	t = n_list[i] - i
	if t>0:
		ans += t
	else: 
		break
print(ans)

 

설명

팁을 많이 주는 사람을 먼저 입장시키는 것이 최대 팁을 받을 수 있는 조건이다. 따라서 입력받은 팁을 내림차순으로 정렬해서 차례대로 0부터 n-1을 빼주었다. 만약 음수가 나오면, 그 뒤에 나오는 수들도 모두 음수가 나올 것이 확실하기 때문에 for문을 빠져나온다. 

반응형

댓글