학습
시험

공포 방탈출

난이도
BEGINNER

문제 설명

n명의 사람이 팀을 나누어 공포 방탈출을 하려고 합니다. 각 사람은 자신의 "공포 민감도"를 x 만큼 가지고 있습니다. 공포 민감도가 x인 사람은 반드시 자신이 속한 팀에 x 명 이상의 사람이 있어야 합니다. 즉, 한 팀의 인원 수는 반드시 그 팀 내 모든 사람의 공포 민감도보다 크거나 같아야 합니다.

각 사람의 공포 민감도가 담긴 일차원 정수 배열 fears가 주어졌을 때, 조건을 만족하는 팀으로 나눌 수 있는 최대 팀 수를 반환하는 solution 함수를 작성하시오.

단, 어떠한 방법으로도 팀 구성이 불가능한 경우에는 -1을 반환해야 합니다.


제한 사항

  • fears의 길이는 1 이상 10,000 이하의 자연수입니다.
  • fears의 각 원소는 1 이상 10 이하의 자연수입니다.

예시 테스트케이스 설명

테스트케이스 번호 fears return
1 [1,2,3,4,5,6,6,6,6,6] 2
2 [1,1,3,6,6,6,6,6,6,6] 3
3 [3,3,4] -1

1번 테스트케이스 설명

  • [1,2,3,4]로 한 팀, [5,6,6,6,6,6]로 또 한 팀을 만들면, 각 팀 내 사람의 공포 민감도 조건과 팀 인원수 조건을 모두 만족하여 최대 2개의 팀으로 나눌 수 있습니다.

2번 테스트케이스 설명

  • [1], [1], [3,6,6,6,6,6,6,6]로 또 한 팀을 만들면, 각 팀 내 사람의 공포 민감도 조건과 팀 인원수 조건을 모두 만족하여 최대 3개의 팀으로 나눌 수 있습니다.

3번 테스트케이스 설명

  • 공포 민감도 4인 사람은 4명이 필요한데, 팀 인원수가 이 조건을 충족하지 못하기 때문에 팀 구성이 불가합니다. 이 경우 -1을 반환해야 합니다.