본문 바로가기

알고리즘

[1일1알고리즘] 모험가 길드

2. 모험가 길드

한 마을에 모험가가 N명이 있고 모험가를 대상으로 공포도를 측정했다. 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있다는 규정이 있다. 길드장은 최대 몇 개의 모험가 그룹을 만들 수 있는지 궁금해한다. 길드장을 위해 N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최대값을 구하는 프로그램을 작성하시오. 단, 몇 명의 모험가는 마을에 그대로 남아 있어도 되기 때문에, 모든 모험가를 특정한 그룹에 넣을 필요는 없다.


입력 조건

  • 첫째 줄에 모험가의 수가 주어진다. (1<=N<=100,000)
  • 둘째 줄에 각 모험가의 공포도의 값을 N이하의 자연수로 주어지며 공백으로 구분한다.

출력 조건

  • 여행을 떠날 수 있는 그룹의 최대 수를 출력한다.
입력예시
5 2 3 1 2 2
출력 예시
2