문제
- 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있습니다
- N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하시오
입력
- 첫째 줄에 모험가의 수 N이 주어집니다 ( 1 <= N <= 100,000)
- 둘째 줄에 각 모험가의 공포도의 값을 N 이하의 자연수로 주어지며, 각 자연수는 공백으로 구분합니다
출력
- 여행을 떠날 수 있는 그룹 수의 최댓값을 출력합니다
문제풀이
- 그룹원의 수가 공포도 이상이라면 그룹을 결성
- 결성 된 그룹 수 출력
코드
n = int(input())
data = list(map(int,input().split()))
data.sort()
count = 0
result = 0
for i in data:
count += 1
if i <= count:
result += 1
count = 0
print(result)'Algorithm > Greedy' 카테고리의 다른 글
| [Python] 문자열 뒤집기 (0) | 2023.01.10 |
|---|---|
| [Python] 곱하기 혹은 더하기 (0) | 2023.01.09 |
| [Python] 1이 될 때까지(그리디) (0) | 2023.01.06 |
| [Python] 숫자 카드 게임(그리디) (0) | 2023.01.06 |
| [Python] 큰 수의 법칙(그리디) (0) | 2023.01.04 |