728x90
문제 설명
문제 풀이 방법
- 이 문제에서 중요하게 봐야할 것은 split 메서드의 사용법이다.
- n을 2진수로 만든다음 spilt("1")로 문자열을 배열로 만들어준다.
이때, 1의 개수보다 많이 나올 수 있는데 이것은 1을 기준으로 나누었기 때문에
1 앞뒤에 있는 요소가 반환되었기 때문이다. - while문을 통해 n++하며 반복해준다.
이때 위와 같은 방법으로 배열의 길이를 측정해 주어진 n의 경우와 같다면
반복하며 1씩 늘어난 n을 반환해준다.
내가 작성한 코드
const solution = (n) => {
let answer = 0;
let n1 = n.toString(2).split("1").length;
while(true){
n++
if(n.toString(2).split("1").length === n1) return n
}
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
2Level / 2017 팁스타운 / 짝지어 제거하기 (0) | 2023.05.31 |
---|---|
2Level / 연습 문제 / 피보나치 수 (0) | 2023.05.29 |
1Level / Summer/Winter Coding(~2018) / 예산 (0) | 2023.05.26 |
2Level / 연습 문제 / 숫자의 표현 (0) | 2023.05.25 |
2Level / 연습 문제 / 최솟값 만들기 (1) | 2023.05.25 |