728x90
๋ฐ์ํ
๐ 04 - ์ด์งํธ๋ฆฌ ๋์ด์ฐ์ ํ์(BFS)
์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ด์งํธ๋ฆฌ๋ฅผ ๋์ด์ฐ์ ํ์ ํ๋ ๋ฌธ์ ์ด๋ค.
๋์ด์ฐ์ ํ์ : 1 2 3 4 5 6 7
์ธ์ BFS๋ฅผ ์ฌ์ฉํ๋๊ฐโ ์ถ๋ฐ ์ง์ ์์ ๋์ฐฉ ์ง์ ๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋
- ๋ ธ๋ 1์ด ์ถ๋ฐ ์ง์ ์ด๋ฏ๋ก ํ์ 1์ ์ถ๊ฐํ๋ค.
- ํ๊ฐ ๋ชจ๋ ๋น์์ง ๋ ๊น์ง while ๋ฌธ์ ๋๋ฉฐ ํ์์ shift ํ ๋ ธ๋์ ๊ทผ์ ํ ๋ ธ๋๊ฐ 7๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ํ์ ์ถ๊ฐํ๋ค.
- 7๋ณด๋ค ํฌ๋ค๋ฉด ํ์ ์ถ๊ฐํ์ง ์๊ณ ๋์ด๊ฐ๋ค.
function solution() {
let answer = '';
let queue = [];
queue.push(1);
while (queue.length) {
let v = queue.shift();
answer += v + ' ';
for (let nv of [v * 2, v * 2 + 1]) {
if (nv > 7) continue;
queue.push(nv);
}
}
return answer;
}
console.log(solution());
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 9] 06 - ์ฌ๋๋ผ ์์ผ๋๋(DFS) (0) | 2022.11.24 |
---|---|
[JavaScript/section 9] 05 - ์ก์์ง ์ฐพ๊ธฐ (0) | 2022.11.21 |
[JavaScript/section 9] 03 - ๋ฏธ๋ก ํ์ (0) | 2022.11.20 |
[JavaScript/section 9] 02 - ๊ฒฝ๋ก ํ์(์ธ์ ๋ฆฌ์คํธ) (0) | 2022.11.16 |
[JavaScript/section 9] 01 - ๊ฒฝ๋ก ํ์(์ธ์ ํ๋ ฌ) (0) | 2022.11.15 |