Programming

[알고리즘] 프로그래머스 폰켓몬

jay-dev 2023. 6. 26. 19:16

프로그래머스 문제 링크

My Solution / Try

  • canPickNum이 가져갈 수 있는 폰켓몬의 최대 숫자
  • Set 자료구조를 활용하여 중복을 제거하고, monsterBall 배열에 폰켓몬 push
function solution(nums) {
    let canPickNum = nums.length/2
    let monsterBall = []    
 
    let set = new Set(nums)
    // console.log([...set])
    
    for (let i = 0 ; i < canPickNum; i++) {
        monsterBall.push([...set][i])
    }
    // console.log(monsterBall)
    
    return monsterBall.filter(e=> e !== undefined).length    
}

Advanced Solution

  • 선택할 수 있는 개수(종류)의 maximum은 nums.length/2
  • 중복을 제외한 폰켓몬의 종류가 max보다 작다면 그 배열의 길이를 출력
function solution(nums) {
  let max = nums.length / 2;
  let monsterBall = [...new Set(nums)];

  return monsterBall.length > max ? max : monsterBall.length
}