나의 풀이
function solution(n, lost, reserve) {
const realLost = lost.filter((element) => !reserve.includes(element)).sort((a, b) => a - b);
let realReserve = reserve.filter((element) => !lost.includes(element)).sort((a, b) => a - b);
return (
n -
realLost.filter((lost) => {
const lend = realReserve.find((reserve) => Math.abs(reserve - lost) == 1);
if (!lend) return lost;
realReserve = realReserve.filter((reserve) => reserve !== lend);
}).length
);
}
- 다른사람의 풀이를 봐도 실패하는 경우가 있다. 테스트케이스가 여러 번 변형 된 모양이다. 2022년 2월18일 기준으로는 이 코드가 맞다. 여태까지 문제 중에서 가장 오랜 시간이 걸렸다. 이런게 Level 1이라니 자괴감이 올 뻔했지만 풀고나니 후련하다.
-filter / find / includes 메소드의 사용법을 익혔다.
'IT,Programming > 프로그래머스_코딩테스트_javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 JavaScript 풀이 _두 개 뽑아서 더하기 (0) | 2022.02.20 |
---|---|
프로그래머스 코딩테스트 JavaScript 풀이 _키패드 누르기 (0) | 2022.02.18 |
프로그래머스 코딩테스트 JavaScript 풀이 _k번째 수 (0) | 2022.02.18 |
프로그래머스 코딩테스트 JavaScript 풀이 _짝수와 홀수 (0) | 2022.02.18 |
프로그래머스 코딩테스트 JavaScript 풀이 _평균 구하기 (0) | 2022.02.17 |