๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ] section09 - 4 - ์ด์ง„ํŠธ๋ฆฌ ๋„“์ด์šฐ์„ ํƒ์ƒ‰(BFS)

by YWTechIT 2021. 10. 7.
728x90

๐Ÿ“ section09 - 4 - ์ด์ง„ํŠธ๋ฆฌ ๋„“์ด์šฐ์„ ํƒ์ƒ‰(BFS)

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ๊ธด ์ด์ง„ํŠธ๋ฆฌ์—์„œ BFS๋กœ 1 2 3 4 5 6 7 ์ถœ๋ ฅ์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.

 

 

  1. visited ๋ฐฉ๋ฌธ ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ํ•„์š” ์—†์ด nv>7 ์ผ ๋•Œ๋Š” ๋” ์ด์ƒ queue์— push ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ breakํ•œ๋‹ค.
  2. queue์— ๋” ์ด์ƒ ๊ฐ’์ด ์—†์„ ๋•Œ๊นŒ์ง€ shift()ํ•œ๋‹ค.
728x90
console.log(solution());

function solution(){
  let queue = [];
  let answer = "";
  queue.push(1);

  while (queue.length){
    let v = queue.shift();
    answer+=v+" ";

    for (let nv of [v*2, v*2+1]){
      if (nv > 7) break;
      queue.push(nv);
    } 
  }

  return answer
}
๐Ÿ‘‰๐Ÿฝ 1 2 3 4 5 6 7
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€