-
๋ฌธ์ 73. ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ๐ง codingtest/javascript 100์ 2022. 4. 12. 07:04728x90
์ ๋ ฅ๋ฐ์ ๋์ ์ ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋,
๋ ์ ์ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ.
- ์ด๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋, ์ ์ ์ ์ค๋ณต์์ด ํ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง ๊ฐ ์ ์๋ ๊ฐ์ฅ ์ ์ ๊ฐ์ ์ ์๋ฅผ ์๋ฏธ
// ๋ฐ์ดํฐ graph = { A: ["B", "C"], B: ["A", "D", "E"], C: ["A", "F"], D: ["B"], E: ["B", "F"], F: ["C", "E"], } // ์ ๋ ฅ A F // ์ถ๋ ฅ 2
๋ฏธ๋ฆฌ ์๊ฐํด ๋ด์ผํ ๊ฒ
- ๋๋น์ฐ์ ํ์์ ์ด์ฉํ๋ค
- ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด๋ฉฐ ์ด๋ ํ ๋ฐฉ์์ผ๋ก ์ถ์ฒ(?)ํ ๊ฒ์ธ๊ฐ ์๊ฐํ๋ค.
๋ต
let graph = { A: ["B", "C"], B: ["A", "D", "E"], C: ["A", "F"], D: ["B"], E: ["B", "F"], F: ["C", "E"], }; function ์ต๋จ๊ฒฝ๋ก(graph, start, end) { let count = -1; let ๊ฑฐ์ณ๊ฐ = [start]; let ์ต์ข = [start]; while (๊ฑฐ์ณ๊ฐ.length !== 0) { count += 1; let s = ๊ฑฐ์ณ๊ฐ.length; for (let i = 0; i < s; i++) { let n = ๊ฑฐ์ณ๊ฐ.splice(0, 1); if (n == end) { return count; } for (let j in graph[n]) { if (!์ต์ข .includes(graph[n][j])) { ์ต์ข .push(graph[n][j]); ๊ฑฐ์ณ๊ฐ.push(graph[n][j]); } } } } } // let ์ ๋ ฅ = prompt('์ ๋ ฅ์ฐ').split(' '); let ์ ๋ ฅ = ["A", "F"]; let start = ์ ๋ ฅ[0]; let end = ์ ๋ ฅ[1]; console.log(์ต๋จ๊ฒฝ๋ก(graph, start, end));
'๐ง codingtest > javascript 100์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌธ์ 76. ์์ ํ ๋ (0) 2022.04.20 ๋ฌธ์ 74. ์ต์ฅ ๊ฒฝ๋ก ์ฐพ๊ธฐ (0) 2022.04.13 ๋ฌธ์ 72. ๋๋น ์ฐ์ ํ์ (0) 2022.04.09 ๋ฌธ์ 71. ๊น์ด ์ฐ์ ํ์ (0) 2022.04.09 ๋ฌธ์ 70. ํ๋ ฌ ๊ณฑํ๊ธฐ (0) 2022.04.06