๋ฌธ์ ๐ฝ
https://school.programmers.co.kr/learn/courses/30/lessons/12980
๋ค๋ฅธ์ฌ๋ ํ์ด ๐ฝ
function solution(n)
{
if(n == 1) return 1;
var battery = 0;
// n์ 2๋ก ๋๋ ๊ฐ๋ฉฐ ๋์ค๋ ๋๋จธ์ง์ ํฉ
while(n>0) {
battery += n%2;
n = Math.floor(n/2);
}
return battery;
}
๋ดํ์ด๐ฝ
1. ์ฑ๊ณต โญ
function solution(n)
{
let answer = 0;
while(1){
if(n===1){
++answer
break;
}
if(n%2===1){
n=(n-1)/2
++answer;
}else{
n=n/2
}
}
return answer;
}
๋๋์ ๐ฝ
์๊ฐ์ธ๋์ x2๋ฅผ ํ๋ฉด์ ์์ง์ด๊ณ ์ด๋ฅผ ์ต๋ํ ํ์ฉํด์ผ ํ๋ค.
์ฃผ์ด์ง n์ 2๋ก ๋๋ ์ ๋จ์ด์ง๋ค๋ฉด ๋ฐฐํฐ๋ฆฌ ์๋ชจ์์ด ๊ทธ ์ ๋จ๊ณ๋ก ์์ง์ผ์ ์๋ค
๋ง์ฝ n์ด 2๋ก ๋๋ด์ ๋ 1๋ก ๋จ์ด์ง๋ค๋ฉด ๋ฐฐํฐ๋ฆฌ 1๋ฅผ ์๋ชจํ๋ ๋ฐฉ์์ผ๋ก ์ต์ํ์ ๋ฐฐํฐ๋ฆฌ ์๋ชจ๋์ ๋์ถ ํ๋ค.