자료구조 및 알고리즘/JavaScript Practice

[프로그래머스] 포켓몬

Ryomi 2024. 12. 23. 23:16
728x90
반응형

24년 12월 23일
해결한 문제 갯수: 1

 

문제 설명

 

문제 분석

 

  • N마리의 폰켓몬 중에서 N/2마리를 선택합니다.
  • 최대한 많은 종류의 폰켓몬을 선택하는 것이 목표입니다.
  • 같은 종류의 폰켓몬은 같은 번호를 가집니다.
  • nums의 길이는 1 이상 10,000 이하인 자연수이며, 항상 짝수입니다.
  • 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수입니다.

 

 

접근: Set() (O(n))

function solution(nums) {
    const set = new Set(nums)
    return nums.length / 2 <= set.size ? nums.length / 2 : set.size
}
  • nums.length : 총 포켓몬 수
  • nums.length / 2 : 선택 가능한 수
  • set.size : 포켓몬 종류 수
  • 결론: set.size가 더 큰 경우, 선택할 수 있는 포켓몬의 수가 최대값이되고, 그렇지 않은 경우, 포켓몬 종류의 수가 최대값이 됩니다. 
728x90
반응형