문제🔽
https://school.programmers.co.kr/learn/courses/30/lessons/12911
다른사람 풀이 🔽
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function nextBigNumber(n) {
var size = n.toString(2).match(/1/g).length
while(n++) {
if(size === n.toString(2).match(/1/g).length) return n
}
}
내풀이🔽
function solution(n) {
var answer = 0;
let oneCount = n.toString(2).replaceAll("0","").length
while(!answer){
let number = ++n
if(number.toString(2).replaceAll("0","").length==oneCount){
answer=number;
break;
}
}
return answer;
}
느낀점😮
무난하게 풀었다..
다른 사람들의 풀이를 보니 replaceAll을 쓰는 것보단 match(/1/g)를 쓰는게 좀더 효율적인 것 같다.
toString, parseInt 메서드에 대해 복기하는 시간이 됐다.
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 짝지어 제거하기(lv2) (0) | 2023.06.18 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 피보나치 수(lv2) (0) | 2023.06.17 |
프로그래머스 코딩테스트 풀이(js) > 숫자의 표현(lv2) (0) | 2023.06.15 |
프로그래머스 코딩테스트 풀이(js) > 최솟값 만들기 (lv2) (0) | 2023.06.13 |
프로그래머스 코딩테스트 풀이(js) > JadenCase 문자열 만들기 (lv2) (0) | 2023.06.12 |