Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ ๋ณธ๋ฌธ
๐ ๋ฌธ์
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ด๋ค ๋ฌธ์์ด x์ ๋ํ ์ด์ง ๋ณํ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
1. x์ ๋ชจ๋ 0์ ์ ๊ฑฐํฉ๋๋ค.
2. x์ ๊ธธ์ด๋ฅผ c๋ผ๊ณ ํ๋ฉด, x๋ฅผ "c๋ฅผ 2์ง๋ฒ์ผ๋ก ํํํ ๋ฌธ์์ด"๋ก ๋ฐ๊ฟ๋๋ค.
์๋ฅผ ๋ค์ด, x = "0111010"์ด๋ผ๋ฉด, x์ ์ด์ง ๋ณํ์ ๊ฐํ๋ฉด x = "0111010" -> "1111" -> "100" ์ด ๋ฉ๋๋ค.
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. s๊ฐ "1"์ด ๋ ๋๊น์ง ๊ณ์ํด์ s์ ์ด์ง ๋ณํ์ ๊ฐํ์ ๋, ์ด์ง ๋ณํ์ ํ์์ ๋ณํ ๊ณผ์ ์์ ์ ๊ฑฐ๋ ๋ชจ๋ 0์ ๊ฐ์๋ฅผ ๊ฐ๊ฐ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ก ์์ด๋์ด
์ ์ฒด ๊ธธ์ด์์ 0์ ๊ฐ์๋ฅผ ๋บ ๊ฐ์ => 2์ง๋ฒ์ผ๋ก ํํ๋ ์
๊ฐ์๋ง ๊ตฌํด์ฃผ๋ฉด ๋๋ ์ฌ์ด ๋ฌธ์ !
โ๏ธ ํ์ด
function solution(s) {
var answer = [];
let zero = 0;
let binary = 0;
while(s !== '1') {
let length = s.length;
let zeroTemp = 0;
let one = 0;
for(let i=0; i<length; i++) {
if(s[i] === '0') {
zeroTemp++;
zero++;
}
}
one = length - zeroTemp;
s = String(Number(one).toString(2));
binary++;
}
answer.push(binary);
answer.push(zero);
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ค์ ํฐ ์ซ์ (0) | 2023.11.24 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] n์ง์ ๊ฒ์ (0) | 2023.10.26 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ (0) | 2023.10.13 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ฐพ๊ธฐ (0) | 2023.09.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ธ์ด์ ํ (0) | 2023.09.13 |