์ฐธ๊ณ ์ž๋ฃŒ : ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์ด๋‹ค with ํŒŒ์ด์ฌ

    [Algorithm] ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ DFS/BFS

    DFS (Depth-First-Search) ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋ฉฐ, ๊ทธ๋ž˜ํ”„์—์„œ ๊นŠ์€ ๋ถ€๋ถ„์„ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค. DFS์˜ ์žฅ์  ํ˜„ ๊ฒฝ๋กœ์ƒ์˜ ๋…ธ๋“œ๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฐพ์œผ๋ ค๋Š” ๋…ธ๋“œ๊ฐ€ ๊นŠ์€ ๋‹จ๊ณ„์— ์žˆ๋Š” ๊ฒฝ์šฐ BFS ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. DFS์˜ ๋‹จ์  ํ•ด๊ฐ€ ์—†๋Š” ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ ํ•  ๊ฒฝ์šฐ ๋‹จ๊ณ„๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ๋ฆฌ ์ง€์ •ํ•œ ์ž„์˜ ๊นŠ์ด๊นŒ์ง€๋งŒ ํƒ์ƒ‰ํ•˜๊ณ  ํ•ด๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋น ์ ธ๋‚˜์™€ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. DFS๋ฅผ ํ†ตํ•ด์„œ ์–ป์–ด์ง„ ํ•ด๊ฐ€ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ผ๋Š” ๋ณด์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค. DFS๋Š” ํ•ด์— ๋„์ฐฉํ•˜๋ฉด ํƒ์ƒ‰์„ ์ข…๋ฃŒํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. BFS (Breadth-First-Search) ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋ฉฐ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ..

    [Algorithm] ๊ทธ๋ฆฌ๋””(Greedy) : ํƒ์š•๋ฒ•์ด๋ž€?

    ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ์„ ํƒํ•˜๋Š” ๊ทธ๋ฆฌ๋”” ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ตญ๋‚ด์—์„œ ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ํƒ์š•๋ฒ•์œผ๋กœ ์†Œ๊ฐœ๋œ๋‹ค. ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์–ด๋– ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ ๋‹จ์ˆœ ๋ฌด์‹ํ•˜๊ฒŒ, ํƒ์š•์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์—ฌ๊ธฐ์„œ ํƒ์š•์ ์ด๋ผ๋Š” ๋ง์€ ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ• ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜๋ฉด ๋งค ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ข‹์•„๋ณด์ด๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜๋ฉฐ, ํ˜„์žฌ์˜ ์„ ํƒ์ด ๋‚˜์ค‘์— ๋ฏธ์น  ์˜ํ–ฅ์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฌธ์ œ ์œ ํ˜•์€ ์•ž์œผ๋กœ ๋‹ค๋ฃจ๊ฒŒ ๋  ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์‚ฌ์ „์— ์™ธ์šฐ๊ณ  ์žˆ์ง€ ์•Š์•„๋„ ํ’€์ˆ˜ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ฌธ์ œ ์œ ํ˜•์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ์ž๋ฐ”์ฝ”๋“œ์™€ ์ƒˆ๋กœ ๋ฐฐ์šฐ๊ณ  ์žˆ๋Š” ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ํ’€์–ด๋ณด์•˜๋‹ค. ํฐ ์ˆ˜์˜ ๋ฒ•์น™ ๋‹ค์–‘ํ•œ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ ์ฃผ์–ด์ง„ ์ˆ˜๋“ค์„ M๋ฒˆ..