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

선영·2022년 6월 1일
0

알고리즘

목록 보기
6/10

폰켓몬 문제 링크
풀이참고 링크
나의 문제풀이

⭐️ 문제해결 포인트


nums배열에서 중복 폰켓몬을 제거하기

나의 풀이 (테스트케이스 실패)

function solution(nums) {
  let pick = nums.length / 2;
  nums.sort(); // nums 오름차순 정렬
  const len = nums.length;

  for (let i = 0; i < len; i++) {
    if (nums[i] == nums[i - 1]) {
      nums.splice(i - 1, i);
    }
  }

  if (nums.length > pick) {
    return pick;
  } else {
    return nums.length;
  }
}

// ToDo result 2

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

풀이 참고

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

  const phoneKetMon = nums.filter((mon, i, arr) => arr.indexOf(mon) === i);
  return phoneKetMon.length > pick ? pick : phoneKetMon.length;
}

// ToDo result 2

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

💭 학습한 부분


arr.filter(item, index, arr)

간단하게 배열에서 중복되는 값을 제거하는 방법을 배웠다..!
아래의 예시에 의하면, [1, 2, 3, 3]배열에서 각 숫자의 인덱스는 0, 1, 2 이고, i는 0, 1, 2, 3 이므로 0, 1, 2값만 필터링 된다.
[1, 2, 3, 3].filter((n, i, arr) => arr.indexOf(n) === i)


🤔 자기 선언


다양한 테스트케이스에 대해서 고려하면서 문제를 풀자.


✅ 다시 풀기


profile
Superduper-India

0개의 댓글