티스토리 뷰
1758번: 알바생 강호
첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같
www.acmicpc.net
1. 문제 내용
2. 접근 방식
- 많은 팁을 주려는 손님을 먼저 받자
많은 팁을 주려는 손님의 등수를 높임으로써 팁에서 마이너스 되는 값을 줄이면 팁의 최대값을 구할 수 있다. 따라서 입력 받은 팁을 내림차순 정렬한 후, 순서대로 손님을 받으면 된다.
3. 정답 코드
import sys
input = sys.stdin.readline
n = int(input())
data = [int(input()) for _ in range(n)]
data.sort(reverse=True)
result = 0
rank = 1
for tip in data:
temp = tip - (rank - 1)
if temp < 0:
break
result += temp
rank += 1
print(result)
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준] 10610번 30 파이썬 정답 코드 (0) | 2023.06.05 |
---|---|
[백준] 19939번 박 터뜨리기 파이썬 정답 코드 (0) | 2023.06.05 |
[백준] 11508번 2 + 1 세일 파이썬 정답 코드 (0) | 2023.06.05 |
[백준] 1049번 기타줄 파이썬 정답 코드 (0) | 2023.06.04 |
[백준] 1969번 DNA 파이썬 정답 코드 (0) | 2023.06.04 |