728x90
[Javascript] (프로그래머스 level 2) 다음 큰 숫자
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(n) {
let next = n;
const nCountOne = n.toString(2).split('').filter((x) => x === '1').length;
while (true) {
next++;
if (next.toString(2).split('').filter((x) => x === '1').length === nCountOne) {
return next;
}
}
}
다른 사람 풀이
function solution(n,a=n+1) {
return n.toString(2).match(/1/g).length == a.toString(2).match(/1/g).length ? a : solution(n,a+1);
}
- 1) 옵셔널 파라미터로 변수 선언 한 줄 줄임
- 2) match(정규식)으로 내가
split(’’).filter((x) ⇒ x ===’1’).length
한걸match(/1/g).length
로 줄임 - 3) 삼항 연산자에 false일 때 재귀함수로 들어가게 만듬 이건 좀 신기하네
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 2) 기능 개발 (0) | 2022.07.02 |
---|---|
[Javascript] (프로그래머스 level 2) 숫자의 표현 (0) | 2022.07.02 |
[Javascript] (프로그래머스 level 2) 이진 변환 반복하기 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 2) n진수 게임 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 2) 최댓값과 최솟값 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 2) JadenCase 문자열 만들기 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 2) 오픈채팅방 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 1) 크레인 인형뽑기 게임 (0) | 2022.07.01 |
댓글