문제 링크

모험가 N명이 있다. 각 모험가를 대상으로 공포도를 측정했다. 공포도가 X인 모험가는 반드시 X명 이상으로 구성해야 여행을 떠날 수 있을 때, 최대 몇개의 모험가 그룹을 만들 수 있는지를 구하시오
N = 5, 공포도 = 2 3 1 2 2 일 때, 최대 그룹수는 2 그룹이다.
Test Case
입력
5
2 3 1 2 2
출력
2
문제 풀이
알고리즘 재시작. 그리디부터 다시 시작해보련다. 한 세달밖에 안지났는데도 꽤 많이 까먹어서 당황스럽다.
스터디로 시작하는거니 이번에는 꼭 완주하기.
문제는 별다를건 없고, 조건문, 반복문 잘 써서 머리굴려서 풀면 된다.
Source Code
import sys
input = sys.stdin.readline
n = int(input())
data = list(map(int, input().split()))
data.sort()
ans = 0
cnt = 0
for man in data:
cnt += 1
if cnt >= man:
ans += 1
cnt = 1
print(ans)
'Develop > algorithm' 카테고리의 다른 글
이것이 코딩테스트다 2 곱하기 혹은 더하기 (0) | 2021.12.08 |
---|---|
프로그래머스 무지의 먹방 라이브 (Python) (0) | 2021.11.24 |
이것이 코딩테스트다 40 숨바꼭질 (Python) (0) | 2021.09.05 |
이것이 코딩테스트다 39 화성 탐사 (Python) (0) | 2021.09.03 |
이것이 코딩테스트다 38 정확한 순위 (Python) (0) | 2021.08.28 |