๐ section08 - 2 - ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ์ด์ง์ ์ถ๋ ฅ
10์ง์ N
์ 2์ง์๋ก ๋ณํํ๋ ๋ฌธ์ ์ด๋ค. ์ ๋ฒ์ ํ์๋ ์ฌ๊ทํจ์์์ ์กฐ๊ธ ์์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ๋ค. ๋ฐฑ์ค์๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ์ด์ง์์ ๊ด๋ จํ ๋ฌธ์ ์ธ ๋ฐฑ์ค 3460 - ์ด์ง์ ๋ฌธ์ ์๋ค. ์ฌ๊ท๋ฅผ ์ด์ฉํ ๋ ์ด๋ณด์๋ if-else
๋ฌธ์ ์ฌ์ฉํ๋๊ฒ์ด ๋ ์ดํดํ๊ธฐ ์ฝ๋ค๊ณ ์ ์๋๊ป์ ๋ง์ํ์
จ๋ค. ์ด์ง์๋ฅผ ๊ตฌํ๋ ค๋ฉด ์ด๋ค ์๋ฅผ ๋ชซ์ด 0
์ด ๋ ๋๊น์ง 2
๋ก ๊ณ์ ๋๋๋ฉด์ ๋๋จธ์ง๋ฅผ ๋์ ํ๋๋ฐ ์ด๋, ๋๋จธ์ง๋ฅผ ๊ฑฐ๊พธ๋ก ๋์ ํด์ผ ์ด์ง์๊ฐ ๋๋ค. ์๋ฅผ ๋ค์ด 11
์ ์ด์ง์๋ก ํํํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ answer
์ฝ๋๋ฅผ DFS
ํจ์ ์์ ์ ์ธํ๋ ๋ฐ์ ์ ์ธํ๋์ ๋ฐ๋ผ ๊ฐ์ด ๋ฌ๋ผ์ง๋๋ฐ DFS
์์ ์ ์ธํ๊ฒ ๋๋ฉด ๋๋จธ์ง๊ฐ ๋ฐ๋๋ฐฉํฅ์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ์์๋์.
level(L)
์ด0
์ด ๋ ๋๊น์ง ์ฌ๊ท ํจ์๋ฅผ ๋๋ฆฐ๋ค.0
์ด๋ฉดreturn
ํ๋ค.0
์ด ์๋๋ฉด ์ฌ๊ท ํจ์๋ฅผ ๋๋ฆฌ๋๋ฐ, ์ธ์๋2
๋ก ๋๋ ๋ชซ์ ๋ฃ๋๋ค.- ๋ชจ๋ ์ฌ๊ทํจ์๋ฅผ ๋ค๋ ค์ ๋์ฌ ์ฐจ๋ก๊ฐ ๋๋ฉด ๋์ค๋ฉด์ ๋๋จธ์ง๋ฅผ
answer
์ ๋ฃ๋๋ค.
let n = 11;
console.log(solution(n));
function solution(n){
let answer="";
function DFS(L){
if (L === 0) return;
else {
DFS(Math.floor(L/2));
answer+=(L%2)
}
}
DFS(n)
return answer;
}
๋๊ธ