반응형

문제 설명

  • 홍박사님이 당신에게 총 N마리의 폰켓몬 중에서 N/2 마리의 폰켓몬을 가져가도 좋다고 했다.
  • N마리의 폰켓몬은 같은 종류일 경우, 같은 번호를 가지고 있고 다른 종류는 서로 다른 번호를 가지고 있다.
  • 당신은 총 N마리의 폰켓몬 중에 최대한 다양한 폰켓몬을 가져가길 원한다.
  • N마리의 폰켓몬 종류가 담긴 nums가 주어질 때, N/2 마리의 폰켓몬을 선택하는 방법 중 가장 다양한 종류의 폰켓몬을 선택하는 방법을 찾아 종류의 번호 개수를 반환하여라.
  • 제한사항
    • nums는 폰켓몬의 종류 번호가 담긴 1차원 배열
    • nums의 길이(N)은 1이상 10000이하의 자연수이며, 항상 짝수
    • 폰켓몬의 종류번호는 1이상 200000이하의 자연수
    • 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 반환
  • 입출력 예시
nums result
[3, 1, 2, 3] 2
[3, 3, 3, 2, 2, 4] 3
[3, 3, 3, 2, 2, 2] 2

 

문제 코드

 

최종 코드

 

코드 풀이

더보기

- 폰켓몬의 종류가 선택할 수 있는 폰켓몬의 수보다 많으면 가져갈 수 있는 폰켓몬의 수만큼 다른 종류의 폰켓몬을 가져갈 수 있음

  • 입출력 예시를 통해 확인하면 [3, 1, 2, 3]에는 3종류의 폰켓몬이 있지만, 가져갈 수 있는 폰켓몬이 2마리이기 때문에 2종류의 폰켓몬만 가져갈 수 있음

- 위와 반대의 경우에는 폰켓몬의 종류의 수만큼 가져가는 것이 가장 다양한 종류의 폰켓몬을 데려가는 것

  • 반대로 [3, 3, 3, 2, 2, 2]에는 2종류의 폰켓몬만 존재하기 때문에 3마리를 가져갈 수 있음에도 총 2종류의 폰켓몬만 가져갈 수 있음
반응형

+ Recent posts