https://programmers.co.kr/learn/courses/30/lessons/12911
function solution(n) {
let nextNum=n;
while(true){
nextNum++;
if(n.toString(2).split('').filter(v=>v==='1').length === nextNum.toString(2).split('').filter(v=>v==='1').length){
return nextNum;
}
}
}
n.toString(2).split('').filter(v=>v==='1').length
를 통해 이진수로 변경 후 1의 갯수를 센다.
function solution(n) {
let nextNum=n;
while(true){
nextNum++;
if(n.toString(2).match(/1/g).length === nextNum.toString(2).match(/1/g).length) {
return nextNum;
}
}
}
정규표현식을 통해 문자열에서 일치하는 부분을 찾을 수 있는 메소드인 match()
메소드가 있어서, 풀어봤다. 코드1보다 더 간단하다.
10/27
문자에서 특정 요소의 개수 세는 방법에 대한 logic 이해하기