모험가길드
# 20210124
# CHAPTER11 Greedy
# Q01 모험가길드
# 1<=N<=100000
# 1. 공포도로 소팅
# 2. 공포도 작은 모험가부터 하나씩 그룹 이뤄서 내보내기
# => 공포도 높은녀석에게 맞춰서 했을 시 작은녀석으로 그룹이룬거보다 많이 만들 수 없음

import sys
sys.stdin = open("input.txt", "r")

def getResult(_list):
    ret = 0
    max_N = 0
    cnt = 0
    for n in _list:
        cnt += 1
        if n > max_N:
            max_N = n
        if cnt >= max_N:
            ret += 1
            cnt = 0
    return ret

N = int(input())
input_list = sorted(list(map(int, input().split())))
print(getResult(input_list))

'SW > 알고리즘 문제풀이' 카테고리의 다른 글

문자열 뒤집기  (0) 2021.01.24
곱하기 혹은 더하기  (0) 2021.01.24
BJ11729 하노이 탑 이동 순서  (0) 2020.03.21
BJ12865 평범한배낭  (0) 2020.03.17
BJ9251 LCS  (0) 2020.03.17