์ตœ๋‹จ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โทFloyd-Warshall Algorithm

The Floyd-Warshall Algorithm ๋ชจ๋“  ์ •์  ์Œ์— ๋Œ€ํ•ด ๋‘˜ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Dijkstra/Bellman-Ford ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ๊ตฌํ•  ์ˆ˜๋„ ์žˆ์Œ ๊ฒฝ์œ ์  : ๋‘ ์ •์  u์™€ v๋ฅผ ์ž‡๋Š” ์–ด๋–ค ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, u์™€ v ์‚ฌ์ด์— ์žˆ๋Š” ๋‹ค๋ฅธ ์ •์  1. ๊ฒฝ์œ ์  k๋ฅผ ์ œ์™ธํ•œ S - {k} ๋…ธ๋“œ ์ค‘ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ๋“œ U, V ์„ ํƒ (S = ์ •์  ์ง‘ํ•ฉ์ผ ๋•Œ k, U, V โˆˆ S) 2. U โ†’ k โ†’ V์˜ ๋น„์šฉ ํ™•์ธ ํ›„ ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๊ฐฑ์‹  ์ง์ ‘ ํ•ด๋ณด๊ธฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๊ณ  ํ•ด๋ณด์ž. Floyd-Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Dijkstra์™€ ๋‹ค๋ฅด๊ฒŒ ๋ชจ๋“  ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ์ •์  ์Œ์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•ด์•ผํ•˜๋ฏ€๋กœ 2์ฐจ์› ๋ฐฐ์—ด์ด ํ•„์š”ํ•˜๋‹ค ์ดˆ๊ธฐํ™” ํ•  ๋•Œ์—๋Š” if from == to, then ..

์ตœ๋‹จ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โถ Dijkstra Algorithm

(๋ญ ๋Œ€์ถฉ ์ค‘์š”ํ•˜๋‹ค๋Š” ๋‚ด์šฉใ…Ž) ์ตœ๋‹จ ๊ฒฝ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์–ธ๊ธ‰๋˜๊ณ  ํ™œ์šฉ๋˜๋Š” ์‚ผ๋Œ€์žฅ์ด ์žˆ์ฃ ? ๋‹ค์ต์ŠคํŠธ๋ผ ๋ฒจ๋งŒํฌ๋“œ ํ”Œ๋กœ์ด๋“œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋ ํ…๋ฐ ์–ธ์ œ, ๋ฌด์—‡์„ ์„ ํƒํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด 3๊ฐ€์ง€๋ฅผ ๋– ์˜ฌ๋ ค๋ด…์‹œ๋‹ค. ๋ฌธ์ œ๋ฅผ ๊ทธ๋ž˜ํ”„ํ™” ํ•˜๋Š” ๊ฒƒ์— ์„ฑ๊ณตํ•˜์…จ๋‹ค๋ฉด ์ด์ œ ์ด 3๊ฐ€์ง€ ํ๋ฆ„์„ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š”๊ฐ€? : ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋‹ค๋ฉด BFS๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ ์Œ์ˆ˜๊ฐ„์„ ์ด ์žˆ๋Š”๊ฐ€? : weight์— ์Œ์ˆ˜ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ๋ฒจ๋งŒํฌ๋“œ ๋‹จ์ผ ์‹œ์ž‘์ ์„ ๊ฐ–๋Š”๊ฐ€? : ๋‹จ์ผ ์‹œ์ž‘์ ์ด ์ฃผ์–ด์ง„๋‹ค๋ฉด ๋‹ค์ต์ŠคํŠธ๋ผ, ๋ชจ๋“  ์ •์ ๋“ค์˜ ์Œ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ ๊ฐ’์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ํ”Œ๋กœ์ด๋“œ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์“ฐ๋ฉด ๋˜๋Š”์ง€ ์„ ํƒํ•˜์…จ๋‹ค๋ฉด ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์˜ ๊ฐœ๋…์„ ์งš์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Dijkstra Algorithm์— ๋Œ€ํ•ด ๋จผ์ € ์‚ด..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ (๋ฐฐ์—ด)

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์Šคํ‚ฌํŠธ๋ฆฌ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์ฒ˜์Œ์—๋Š” ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ๋ฅผ ์ž˜๋ชป๋ด์„œ ์•„์˜ˆ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์งฐ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์กฐ๊ฑด ์Šคํ‚ฌ์„ ๋‹ค ์จ์•ผ ํ•˜๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ˆœ์„œ๋งŒ ๋งž์œผ๋ฉด ๋˜์ง€, ์ˆœ์„œ๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ์Šคํ‚ฌ๋“ค์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ‹€๋ฆฌ๊ณ  ๋‚˜์„œ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์งœ๊ณ  ๋ง์•˜๋‹ค๋Š”...ใ…Ž ์ด ๋ฌธ์ œ์•ผ ๋ง๋กœ ์‚ฌ๋žŒ๋งˆ๋‹ค ํ‘ธ๋Š” ๋ฐฉ์‹์ด ๋‹ค ๋‹ค๋ฅผ ๊ฒƒ ๊ฐ™์€๋ฐ ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ’€์—ˆ๊ณ  ํ•ด๋‹น ๊ทธ๋ฆผ์€ ๋ฌธ์ œ์— ์˜ˆ์‹œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ, ์•„๋ž˜ ํ’€์ด๋Š” ์Šคํ‚ฌ์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ํ’€์ด ์ž…๋‹ˆ๋‹ค. ํ’€์ด 1 ๊ทธ๋ฆผ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• (์ผ์ฐจํ•จ์ˆ˜ & ์ž๋ฃŒํ˜•)

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค -๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์ €๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ณ ๋‚˜์„œ ๊ผญ ๊ตฌ๊ธ€์— ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ ๊ฒ€์ƒ‰์„ ํ•ด ๋ด…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๊ฐ€ ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•ด์„œ ๊ฒ€์ƒ‰์€ ํ•ด๋ณด์ง€๋งŒ ๋‹ค์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ํ’€์—ˆ๋‹ค๋ฉด ๊ณจ์น˜๊ฐ€ ์กฐ๊ธˆ ์•„ํ”•๋‹ˆ๋‹ค. ๋Œ€์ค‘์ ์ธ ํ’€์ด(?)๊ฐ€ ๋” ํšจ์œจ์„ฑ์ด ์ข‹์€๊ฑด๊ฐ€... ํ•˜๊ณ  ํšจ์œจ์„ฑ๋„ ๋”ฐ์ ธ์•ผ ํ•˜๊ณ ... ์•„์ง ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ํšจ์œจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•ด๋ณด์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์ด ๊ธ€ ์“ฐ๊ณ  ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋งŽ์ด ์“ฐ์‹œ๋Š” ๋ฐฉ๋ฒ•์ด gcd (์ตœ๋Œ€๊ณต์•ฝ์ˆ˜)๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋˜๋ฐ ์•„์ง ์ฐฌ์ฐฌํžˆ ์‚ดํŽด๋ณด์ง€ ์•Š์•„ ์–ด๋–ค ๋งฅ๋ฝ์—..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 124 ๋‚˜๋ผ์˜ ์ˆซ์ž (์žฌ๊ท€๋ฒ•)

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์žฌ๊ท€๋ฒ• ์ข‹์•„ํ•˜์‹œ๋Š” ๋ถ„ ๊ณ„์„ธ์š”? ์žฌ๊ท€๋ฒ•ํ•˜๋ฉด ์ œ์ผ ๋จผ์ € ๋– ์˜ค๋ฅด๋Š”๊ฒŒ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ธ๋ฐ ๋“œ๋””์–ด ๊ทธ ํ‹€์„ ์ข€ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ๋‹ค๋ฅธ ๋ถ„๋“ค ํ’€์ด ๋ณด๋‹ˆ๊นŒ ์ง„๋ฒ•์˜ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ์‹  ๋ถ„๋“ค์ด ๋งŽ๋˜๋ฐ ์ €๋„ ์ฒ˜์Œ ํ’€์—ˆ์„ ๋•Œ ๋‚˜์˜จ ํ’€์ด๊ฐ€ 3์ง„๋ฒ•์ด๋‹ˆ ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ๊ฒƒ์ด ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 3์ง„๋ฒ• ํ’€์ด๋Š” ์ด๋ฏธ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์—๋„ ๋งŽ์œผ๋‹ˆ ์žฌ๊ท€๋ฒ•์œผ๋กœ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ’€์ด 1 : ์žฌ๊ท€๋ฒ• ์ œ๊ฐ€ ์ด ํฌ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๊ณต์„ ์ข€ ๋“ค์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Level 1์—์„œ ๋ณผ ๋งŒํ•œ ๋ฌธ์ œ

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ Level 1 ๋ฌธ์ œ ์ค‘ ๊ผญ ํ•œ ๋ฒˆ์€ ๋‹ค๋ฃจ๊ณ  ๋„˜์–ด๊ฐ”์œผ๋ฉด ์ข‹๊ฒ ๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์ผ๋‹จ ์‹œ์ž‘ํ•˜๊ธฐ ์ „, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Level 1 ๋ฌธ์ œ์—๋Š” [2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ : ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„] [2018 ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ ์ฑ„์šฉ 1์ฐจ : ๋น„๋ฐ€์ง€๋„, ๋‹คํŠธ๊ฒŒ์ž„] [2019 ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ ์ฑ„์šฉ 1์ฐจ : ์‹คํŒจ์œจ] [2018 summer/winter coding : ์˜ˆ์‚ฐ]์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋“ค์€ ์„ ํƒ์ ์œผ๋กœ ํ’€์–ด๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ฐ˜๋“œ์‹œ ํ’€์–ด๋ณด์•„์•ผ ํ•  ๋ฌธ์ œ์ผํ…Œ๋‹ˆ ๋”ฐ๋กœ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ‘

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํƒ‘ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ํ•˜ ์ง„์Ÿˆ ํ•œ ๋ฒˆ๋งŒ์— ์„ฑ๊ณตํ•œ๊ฑฐ ๋„ˆ๋ฌด ์˜ค๋žœ๋งŒ์ด๋ผ์„œ ์ง€๊ธˆ ํฅ๋ถ„์„ ์ฃผ์ฒดํ•  ์ˆ˜ ์—†์–ด์š”. ์•„๋‹ˆ ๋ญ ๊ผญ ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ๋‚˜์„œ ์„ฑ์ทจ๋ฅผ ๋Š๊ปด์•ผ ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ์ž–์•„์š”? ์•ˆ๊ทธ๋ž˜๋„ ์ง€๊ธˆ ๋ฐฑ์ค€์— ๋ญ ์•ˆํ’€๋ฆฌ๋Š” ๋ฌธ์ œ ์žˆ์–ด๊ฐ€์ง€๊ณ (ํ’€๋ฆด ๋“ฏ ์•ˆํ’€๋ฆฌ๋Š”... ๋ถ„๋ช… ๋‚ด์ผ ํ’€๋ฉด ํ’€๋ฆด ๊ฑฐ์•ผ ๋งํ•  ํ† ๋งˆํ† ...) ์ž์กด๊ฐ ๋–จ์–ด์ง€๊ณ  ์žˆ๋Š”๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์™€์„œ ํž๋ง ํ–ˆ๋„ค์š”ใ…‹ใ…‹ ๋ฌธ์ œ๋Š” ์•„๋ž˜ [๊ทธ๋ฆผ 1] ์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ ์š”์•ฝ์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ ์†ก์‹ ํƒ‘์€ ์™ผ์ชฝ์œผ๋กœ ์‹œ๊ทธ๋„์„ ๋ณด๋‚ด๊ณ  ์ž์‹  ๋ณด๋‹ค ๋†’์€ ์†ก์‹ ํƒ‘์˜ ์ˆ˜..

[BOJ] 2606 ๋ฐ”์ด๋Ÿฌ์Šค

์ด ๊ธ€์€ BOJ 2606-๋ฐ”์ด๋Ÿฌ์Šค ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. BFS, DFS๊ด€๋ จ ๊ฒŒ์‹œ๊ธ€์€ ์š”์ด๋”ฐ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ DFS๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฐ 1๋ฒˆ ์ปดํ“จํ„ฐ์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ปดํ“จํ„ฐ๋ฅผ ์ฐพ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. DFS๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ traverseํ•  ๋•Œ, BFS๋Š” path finding์„ ํ•  ๋•Œ ์ž˜ ์“ฐ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ €๋Š” BFS๋กœ ํ’€์—ˆ๋ƒ๊ตฌ์š”? ์Œ... ์•ฝ๊ฐ„ ์ œ๊ฐ€ ์žฌ๊ท€๋ฌธ ํŠธ๋ผ์šฐ๋งˆ๊ฐ€ ์žˆ์–ด์„œ BFS๋กœ ๋จผ์ € ์งฐ๋‹ค๊ฐ€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋‚˜๋ฉด DFS๋กœ ๊ฐˆ์•„ํƒˆ ์ƒ๊ฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ญ... ์ฝ”ํ…Œ ๋ณผ ๋•Œ๋‚˜ ๋ฉด์ ‘ ๋ณผ ๋•Œ ๊ทธ๋Ÿด ์—ฌ์œ ๋Š” ์—†๊ฒ ์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ..