[프로그래머스 lev1/JS] 포켓몬

woolee의 기록보관소·2022년 11월 8일
0

알고리즘 문제풀이

목록 보기
61/178

문제 출처

프로그래머스 lev1 - 포켓몬

문제

나의 풀이

종류만 구하면 되는데, 너무 어렵게 생각했다.

function solution(nums) {
  
  let tmp = Array.from({length:parseInt((nums.length)/2)});
  let ans = [];
  let answer = 0;

  function Max (L, idx) {
    if (L===nums.length/2) {
      console.log(tmp.slice());
      // let tmp2 = tmp.slice().sort((a,b)=>a-b);

      // if (!ans.includes(tmp2)) {
      //   ans.push(tmp2);
      // }

      // console.log(tmp2);
      // if (ans[tmp2]) ans[tmp2]++;
      // else ans[tmp2]=1;
    }
    else {
      for (let i=idx; i<nums.length; i++) {
        tmp[L] = nums[i];
        idx = i+1;
        Max(L+1, idx);
        tmp.pop();
      }
    }
  }
  Max(0, 0);
  console.log(ans);

  // for (let [key, val] of Object.entries(ans)) {
  //   if (answer < val) {
  //     answer = val;
  //   }
  // }
  // return answer; 
}

// console.log(solution([3, 1, 2, 3]));
console.log(solution([3, 3, 3, 2, 2, 4]));

그냥 간단하게 틀에 들어갈 수 있는 개수보다 종류가 더 많으면 그냥 틀 개수가 최종값이고, 틀에 들어갈 수 있는 개수보다 종류가 더 적다? 그러면 종류의 개수가 최종값인 간단한 문제.

function solution(nums) {
  let max1 = 0;
  max1 = nums.length/2;

  let max2 = 0;
  max2 = [...new Set(nums)].length;
  
  if (max1 < max2) {
    return max1;
  } else return max2; 
}

// console.log(solution([3, 1, 2, 3]));
console.log(solution([3, 3, 3, 2, 2, 4]));
profile
https://medium.com/@wooleejaan

0개의 댓글