작성
·
355
0
이렇게 풀어도 되나요?
function solution(n) {
let answer = [];
function DFS(L) {
if (L === 0) return;
else {
answer.unshift(L % 2);
L = Math.floor(L / 2);
DFS(L);
}
}
DFS(n);
return answer.join("");
}
답변 1
1
안녕하세요^^
네. 상관없습니다. 하지만 unshift로 배열의 앞쪽에 값을 넣으면 기존 있던 값들이 하나씩 뒤로 밀리는 연산을 해야 하므로 효율적이지는 않습니다. 아래와 같이 영상처럼 하는 것을 추천합니다.
function solution(n) {
let answer = [];
function DFS(L) {
if (L === 0) return;
else {
DFS(parseInt(L/2));
answer.push(L % 2);
}
}
DFS(n);
return answer.join("");
}