[DFS/BFS]์„ฌ๋‚˜๋ผ ์•„์ผ๋žœ๋“œ

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/126 [DFS]๋ฏธ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/39 ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ ์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ค‘ ์ž์‹ ์˜ ์ƒํ•˜์ขŒ์šฐ ์ˆซ์ž๋ณด๋‹ค ํฐ ์ˆซ์ž choi95.tistory.com ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ด์ „์— ํฌ์ŠคํŒ… ํ–ˆ๋˜ ๋ฏธ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. ํƒ์ƒ‰ ๋ฐฉํ–ฅ์ด '์ขŒ ์šฐ ์ƒ ํ•˜' ์™ธ์—๋„ ๋Œ€๊ฐ์„ ๊นŒ์ง€ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๊ธธ์„ ๊ตฌํ•˜๋Š” ๋ฏธ๋กœ ํƒ์ƒ‰์€ ํ•œ๋ฒˆ ํƒ์ƒ‰ํ–ˆ๋˜ ๊ธธ์„ ๊ฐ”๋˜ ์ง€์ ์œผ๋กœ ์ฒดํฌํ•œ ๋’ค์— ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ•  ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ๋‹ค์‹œ ์žฌ๊ท€ ํ˜ธ์ถœ์„ ๋งˆ์นœ ๋’ค์— ๊ฐ€์ง€ ์•Š์•˜์Œ์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์ง€๋งŒ ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” ์ •ํ•ด์ ธ ์žˆ๋Š” ์„ฌ์„ ..

[BFS: ์ƒํƒœํŠธ๋ฆฌํƒ์ƒ‰]์†ก์•„์ง€ ์ฐพ๊ธฐ

๋ฌธ์ œ ํ˜„์ˆ˜๋Š” ์†ก์•„์ง€๋ฅผ ์žƒ์–ด๋ฒ„๋ ธ๋‹ค. ๋‹คํ–‰ํžˆ ์†ก์•„์ง€์—๋Š” ์œ„์น˜์ถ”์ ๊ธฐ๊ฐ€ ๋‹ฌ๋ ค ์žˆ๋‹ค. ํ˜„์ˆ˜์˜ ์œ„์น˜์™€ ์†ก์•„์ง€์˜ ์œ„์น˜๊ฐ€ ์ˆ˜์ง์„ ์ƒ์˜ ์ขŒํ‘œ ์ ์œผ๋กœ์ฃผ์–ด์ง€๋ฉด ํ˜„์ˆ˜๋Š” ํ˜„์žฌ ์œ„์น˜์—์„œ ์†ก์•„์ง€์˜ ์œ„์น˜๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ์†ก์•„์ง€๋Š” ์›€์ง์ด์ง€ ์•Š๊ณ  ์ œ์ž๋ฆฌ์— ์žˆ๋‹ค. ํ˜„์ˆ˜๋Š” ์Šค์นด์ด ์ฝฉ์ฝฉ์„ ํƒ€๊ณ  ๊ฐ€๋Š”๋ฐ ํ•œ ๋ฒˆ์˜ ์ ํ”„๋กœ ์•ž์œผ๋กœ 1, ๋’ค๋กœ 1, ์•ž์œผ๋กœ 5๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ์†Œ ๋ช‡๋ฒˆ์˜ ์ ํ”„๋กœ ํ˜„์ˆ˜๊ฐ€ ์†ก์•„์ง€์˜ ์œ„์น˜๊นŒ์ง€ ๊ฐˆ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๋ฌธ์ œํ’€์ด ์ด๋•Œ ์ค‘์š”ํ•œ ์ ์€ ํ•œ๋ฒˆ ๋ฐฉ๋ฌธํ–ˆ๋˜ ์ง€์ ์€ ๋” ์ด์ƒ ์ฐธ์กฐ ๋ฐ ์ˆœํšŒํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด๋‹ค. ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ ์ง€์ ์— ๋Œ€ํ•œ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฑฐ๋ฆฌ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด์— ์ €์žฅํ•˜์˜€๋‹ค. ์ฝ”๋“œ function solution(s,..

[BFS]์ด์ง„ํŠธ๋ฆฌ ๋„“์ด ์šฐ์„ ํƒ์ƒ‰

๋ฌธ์ œ https://choi95.tistory.com/110?category=854389 [DFS]์ด์ง„ํŠธ๋ฆฌ ์ˆœํšŒ ๋ฌธ์ œ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ „์œ„์ˆœํšŒ, ์ค‘์œ„์ˆœํšŒ, ํ›„์œ„์ˆœํšŒ๋ฅผ ๋ˆ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”. ๊ฐœ๋… ํŠธ๋ฆฌ(Tree) ๋…ธ๋“œ(node)๋กœ ์ด๋ฃจ์–ด์ง„ ๋น„์„ ํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ ํŠธ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๋ฃจํŠธ(root) ๋…ธ๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Œ ๋ฃจ choi95.tistory.com ์ด์ „ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ํ•œ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ด๋ฒˆ์—๋Š” ๋„“์ด ์šฐ์„ ํƒ์ƒ‰์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๋ฌธ์ œํ’€์ด ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS_Breadth-First Search) ๋ฃจํŠธ ๋…ธ๋“œ(Root Node) ๋˜๋Š” ๋‹ค๋ฅธ ์ž„์˜์˜ ๋…ธ๋“œ๋ฅผ ์ •์ ์œผ๋กœ, ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ• ์‹œ์ž‘ ์ •์ ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ์ •์ ์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ  ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ์ •์ ์„ ๋‚˜์ค‘์— ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœํšŒ ๋ฐฉ๋ฒ• ์ ์šฉ ์˜ˆ..

[DFS]๋ฏธ๋กœ ํƒ์ƒ‰

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/39 ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ ์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ค‘ ์ž์‹ ์˜ ์ƒํ•˜์ขŒ์šฐ ์ˆซ์ž๋ณด๋‹ค ํฐ ์ˆซ์ž ๋Š” ๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ด๋‹ค. ๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ด ๋ช‡ ๊ฐœ ์žˆ choi95.tistory.com ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ด์ „์— ํ’€์—ˆ๋˜ ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ ํ’€์ด์™€ ํก์‚ฌํ•˜๋‹ค. ์ƒํ•˜์ขŒ์šฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ„๋„์˜ ์ด๋™ ๋ฐฉํ–ฅ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜์—ฌ ์ฃผ๊ณ  ํ˜„์žฌ ๋ณด๋“œ์˜ ์œ„์น˜์—์„œ ํ•ด๋‹น ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ์ƒํ•˜์ขŒ์šฐ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธธ์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ๋Š” ์ค‘์ฒฉ for๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ขŒํ‘œ์˜ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ • ์ง“์—ˆ๋‹ค๋ฉด ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ์žฌ๊ท€ ํ˜ธ์ถœ์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œ์ผฐ๋‹ค. ์ฝ”๋“œ function solutio..

[์ธ์ ‘ ๋ฆฌ์ŠคํŠธ]๊ฒฝ๋กœ ํƒ์ƒ‰

๋ฌธ์ œ https://choi95.tistory.com/124 [์ธ์ ‘ ํ–‰๋ ฌ]๊ฒฝ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ ๋ฌธ์ œํ’€์ด ์ธ์ ‘ํ–‰๋ ฌ ์ธ์ ‘ ํ–‰๋ ฌ์€ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์ด์ฐจ์› ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹ arr[i][j]: ๋…ธ๋“œ i(ํ–‰)์—์„œ j(์—ด)๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์ด ์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0_๋‹จ๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„์˜ ๊ฒฝ์šฐ ์ธ์ ‘ ํ–‰๋ ฌ์˜ ํŠน์„ฑ choi95.tistory.com ๋ฌธ์ œํ’€์ด ์ด์ „ ๊ฒฝ๋กœ ํƒ์ƒ‰์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ธ์ ‘ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ๊ฐ€์ง€ ์ˆ˜๋ฅผ ๊ตฌํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ ์ •์ ์— ๋Œ€ํ•ด์„œ ๋‹ค์Œ ์ •์ ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด๊ตฐ์„ ํ–‰(ํ˜„์žฌ ์ •์ )๊ณผ ์—ด(๋‹ค์Œ ์ •์ )์— ์ €์žฅํ•œ๋‹ค๋ฉด ํƒ์ƒ‰ ๊ณผ์ •์—์„œ๋ถˆํ•„์š”ํ•œ ์ธ๋ฑ์Šค ์š”์†Œ๊นŒ์ง€ ์ผ์ผํžˆ ํ™•์ธํ•˜๋ฉด์„œ ์ˆœํšŒํ•ด์•ผ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ˜„์žฌ๋Š” ์—ด(๋‹ค์Œ ์ •์ )์˜ ์ˆ˜๊ฐ€ ์ ์–ด ํฌ๊ฒŒ ์ƒ๊ด€์€ ์—†์œผ๋‚˜ ํ›„๋ณด๊ตฐ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์ง€๋งŒ ๊ทธ ์ค‘ ์‹ค์ œ ..

[์ธ์ ‘ ํ–‰๋ ฌ]๊ฒฝ๋กœ ํƒ์ƒ‰

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด ์ธ์ ‘ํ–‰๋ ฌ ์ธ์ ‘ ํ–‰๋ ฌ์€ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์ด์ฐจ์› ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹ arr[i][j]: ๋…ธ๋“œ i(ํ–‰)์—์„œ j(์—ด)๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์ด ์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0_๋‹จ๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„์˜ ๊ฒฝ์šฐ ์ธ์ ‘ ํ–‰๋ ฌ์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๋ฌธ์ œ์—์„œ์˜ ๊ฒฝ๋กœ ๊ฒฝ์šฐ์ˆ˜์— ๋งŒ์กฑํ•˜๋Š” ์ธ์ ‘ ํ–‰๋ ฌ์„ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์—ด๋กœ ์ด๋™ํ–ˆ์„ ๋•Œ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋‹ค๋ฉด 1์„, ์•„๋‹ˆ๋ฉด 0์„ ๋ฐฐ์—ด ๋‚ด์— ํ• ๋‹นํ•œ๋‹ค. ๊ฐ ํ–‰์€ ์ •์ (ํ˜„์žฌ ์žˆ๋Š” ์œ„์น˜), ๊ฐ ์—ด์€ ๋‹ค์Œ ํ–‰์„ ์ง€ ํ›„๋ณด๊ตฐ ์ด๋ผ๊ณ  ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๊นŠ์ด ํƒ์ƒ‰ ๊ณผ์ •์œผ๋กœ ๋ฐ”๊ฟ” ๊ทธ๋ ค ๋ณธ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์˜จ๋‹ค. ์ฝ”๋“œ function solution(n, arr) { let answer = 0; let graph = Array.from(Array(n + 1), (..

์ˆ˜์—ด ์ถ”์ธกํ•˜๊ธฐ

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด ๋จผ์ € ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜•์„ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๊ฐ’์ด ์ดํ•ญ๊ณ„์ˆ˜๋ฅผ ์ด์šฉํ•ด ๊ณ„์‚ฐํ•œ ์ตœ์ข…๊ฐ’๊ณผ ๊ฐ™์Œ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์—์„œ ๋ณธ ๋ฐ”์™€ ๊ฐ™์ด ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜•์„ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ ๊ฐ’์€ (1 × 1) + (2 × 3) + (3 × 3) + (4 × 1)์ด๋ฉฐ N์ด 4์ผ ๊ฒฝ์šฐ์— ์ˆ˜์—ด ์ˆœ์„œ๊ฐ€ ์–ด๋–ป๋“  ๊ฐ„์— {1 3 3 1}์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ๊ฒฐ๊ณผ๊ฐ’์ด ์‚ฐ์ถœ๋œ๋‹ค. ๋˜ํ•œ ์ด๋ฅผ ์ข€ ๋” ๊ตฌํ•˜๊ธฐ ํŽธํ•œ ์ดํ•ญ ๊ณ„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ๋‹ค๋ฉด 3C0 3C1 3C2 3C3๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. {1 3 3 1}์„ ์ดํ•ญ ๊ณ„์ˆ˜๋กœ ๊ตฌํ•ด๋‘์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ˆœ์—ด์„ ๊ตฌํ•  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜• ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜๋Š”๋ฐ ์ด๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ƒ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ฝ”๋“œ function solution(n, f) { let answer = []; let ..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ