ppotatoG


Back to all posts

폰켓몬

Written by ppotatoG & Posted on October 31st, 2021

Programmers 폰켓몬

문제 읽으면서 이해하는게 좀 어려웠던걸로 기억한다

  • 최대 arr/2 만 가져갈 수 있음
  • 최대한 다양한 종류를 가져가야 함

처음 제출한 답

arr에서 num을 중복제거 하고,

while로 돌면서 값을 삭제했다

function solution(num) {
let arr = num.filter((a, b) => num.indexOf(a) === b);
while(arr.length > num.length/2) arr.pop();
return arr.length;
}

두번째

두번째는 아마 다른사람의 풀이를 보고 했으려나?

중복제거는 그대로, return에서 조건을 줬다

function solution(num) {
const arr = num.filter((a, b) => num.indexOf(a) === b);
return arr.length > num.length / 2 ? num.length / 2 : arr.length;
}

최근 보충 한 내용

answer을 복사해 중복제거 후 길이 반환

반환값에서 조건

두번째랑 이거랑 뭐가 더 나은진 잘 모르겠다

function solution(arr) {
const answer = [...arr].filter((a, b) => [...arr].indexOf(a) === b).length;
return answer < arr.length / 2 ? answer : arr.length / 2;
}

Posted on October 31st, 2021