반응형
문제
나의 풀이
function solution(n)
{
var ans = 0;
while(n > 1){
if ( n % 2 == 0 ){
n = (n/2)
} else{
n = n-1
ans++
}
}
return ans+1;
}
n에서 2로 나누어 떨어지면 n/2, 아니면 n-1을 해주는 과정을
1이 될때까지 과정을 반복하고, 마지막에 1을 더해주는것으로 정답을 구했다. ( 0에서 1은 점프를 해야되니까)
다른이의 풀이
const nArr = Array.from(n.toString(2));
이와 같이 toString을 통해 2진법으로 만들고 1의 갯수를 세어도 정답이다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] level2. [3차] 파일명 정렬 (javascript) (0) | 2021.08.18 |
---|---|
[프로그래머스] level1. 숫자 문자열과 영단어 (javascript) (0) | 2021.07.13 |
[프로그래머스] level3. 베스트앨범 (javascript) (0) | 2021.06.23 |
[프로그래머스] level1. 약수의 개수와 덧셈(javascript) (0) | 2021.06.23 |
[프로그래머스] level2. [3차] 방금 그곡 (javascript) (0) | 2021.06.16 |