๐ŸŽ ์ง€๊ธˆ ๊ฐ€์ž…ํ•˜๋ฉด ์˜จ๋ผ์ธ AI๋ฅผ ์ตœ๋Œ€ 30๋ถ„ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ ์šฉ์นด๋“œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ๊ฐ€์ด๋“œ

August 21, 2026
Floyd-Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์šฐ๊ณ , ๋ฐ˜๋ณต์„ ์œ ๋„ํ•˜๊ณ , ํ–‰๋ ฌ์„ ์ถ”์ ํ•˜๊ณ , ์Œ์˜ ์ˆœํ™˜์„ ๊ฐ์ง€ํ•˜๊ณ , ๊ฒฝ๋กœ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๊ณ , ๋ณต์žก์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ค‘๊ฐ„ ์ •์ ์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋˜๋Š” Floyd-Warshall ๊ฑฐ๋ฆฌ ํ–‰๋ ฌ
Floydโ€“Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜
Warshall Floyd ์•Œ๊ณ ๋ฆฌ์ฆ˜
๋ชจ๋“  ์Œ ์ตœ๋‹จ ๊ฒฝ๋กœ
์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ์ค€๋น„

TL;DR: Floydโ€“Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์Œ์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์—์„œ ๊ฑฐ๋ฆฌ ํ–‰๋ ฌ์„ ์ดˆ๊ธฐํ™”ํ•œ ๋‹ค์Œ ๋ชจ๋“  ์ค‘๊ฐ„ ์ •์  k์— ๋Œ€ํ•ด ๊ฐ ์Œ์„ dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. O(Vยณ) ์‹œ๊ฐ„๊ณผ O(Vยฒ) ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋ฉฐ ์Œ์ˆ˜ ๋Œ€๊ฐ์„  ํ•ญ๋ชฉ์„ ํ†ตํ•ด ์Œ์ˆ˜ ์ˆœํ™˜์„ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ๊ฐ€์ด๋“œ

๋ฐ˜๋ณต, ๋ฃจํ”„ ๋ถˆ๋ณ€, ํ–‰๋ ฌ ์ถ”์ , ๊ฒฝ๋กœ ์žฌ๊ตฌ์„ฑ, ์—ฃ์ง€ ์ผ€์ด์Šค ๋ฐ ๋ณต์žก์„ฑ ์„ค๋ช…์„ ์—ฐ์Šตํ•ฉ๋‹ˆ๋‹ค.

YesToTheOffer รฌย‚ยฌรฌยšยฉรญย•ยด รซยณยดรชยธยฐ

์ค‘๊ฐ„ ์ •์ ์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋˜๋Š” Floyd-Warshall ๊ฑฐ๋ฆฌ ํ–‰๋ ฌ

ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Floydโ€“Warshall์€ ๋ชจ๋“  ์ •๋ ฌ๋œ ์ •์  ์Œ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋ฐฉํ–ฅ์„ฑ ๋˜๋Š” ๋ฐฉํ–ฅ์„ฑ์ด ์—†๋Š” ๊ฐ€์ค‘์น˜ ๊ทธ๋ž˜ํ”„์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋ฉฐ ์Œ์ˆ˜ ๊ฐ„์„ ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ด€๋ จ๋œ ์Œ์˜ ๊ฐ€์ค‘์น˜ ์‚ฌ์ดํด์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์ดํด์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ํšก๋‹จํ•˜๋ฉด ๊ฒฝ๋กœ ๋น„์šฉ์ด ๊ณ„์† ๊ฐ์†Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ์ตœ๋‹จ ๊ฒฝ๋กœ์—๋Š” ์œ ํ•œ ์ตœ์†Œ๊ฐ’์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ „์—ญ ๊ฒฝ๋กœ ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์˜ ๊ฒฐ์ •์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์–ต์— ๋‚จ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ค‘๊ฐ„ ์ •์  k์˜ ๊ฒฝ์šฐ i์—์„œ j๋กœ ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ๋” ๋‚˜์€๊ฐ€์š”, ์•„๋‹ˆ๋ฉด i์—์„œ k๋กœ ์ด๋™ํ•œ ๋‹ค์Œ k์—์„œ j๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€๊ฐ€์š”?

์žฌ๋ฐœ์„ ์–ด๋–ป๊ฒŒ ๋„์ถœํ•ฉ๋‹ˆ๊นŒ?

D(k, i, j)๋ฅผ i์—์„œ j๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋กœ ์ •์˜ํ•˜๋ฉฐ, ์ค‘๊ฐ„ ์ •์ ์€ ์ฒ˜์Œ k๊ฐœ์˜ ์ •์ ์—์„œ๋งŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” D(kโˆ’1, i, j)๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ •์  k๋ฅผ ํ”ผํ•˜๊ฑฐ๋‚˜ k๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  i์—์„œ k๊นŒ์ง€์˜ ์ตœ์ƒ์˜ ํ—ˆ์šฉ ๊ฒฝ๋กœ์™€ k์—์„œ j๊นŒ์ง€์˜ ์ตœ์ƒ์˜ ํ—ˆ์šฉ ๊ฒฝ๋กœ๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์žฌ๋ฐœ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค :

D(k, i, j) = min(D(kโˆ’1, i, j), D(kโˆ’1, i, k) + D(kโˆ’1, k, j))

k ๋‹จ๊ณ„๋Š” ํ˜ธํ™˜๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ k-1 ๋‹จ๊ณ„ ๊ฐ’์—๋งŒ ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ–‰๋ ฌ์„ ๊ทธ ์ž๋ฆฌ์—์„œ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ถ”๋ก ์€ ์ค‘์š”ํ•œ ๋ฃจํ”„ ์ˆœ์„œ๋„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. k๋Š” ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ ๋ฃจํ”„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. i ๋˜๋Š” j๋ฅผ ์™ธ๋ถ€์— ๋†“์œผ๋ฉด ๋ถˆ๋ณ€์„ฑ์ด ๋ณ€๊ฒฝ๋˜๊ณ  ๋ถ€๋ถ„์ ์œผ๋กœ ํ—ˆ์šฉ๋œ ๊ฒฝ๋กœ๋ฅผ ์ž˜๋ชป ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑฐ๋ฆฌ ํ–‰๋ ฌ์„ ์–ด๋–ป๊ฒŒ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๊นŒ?

V x V ํ–‰๋ ฌ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. dist[i][i]์„ 0์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์ง์ ‘ ๊ฐ€์žฅ์ž๋ฆฌ์˜ ์…€์„ ๊ฐ€์ค‘์น˜๋กœ ์„ค์ •ํ•˜๊ณ  ์ง์ ‘ ๊ฐ€์žฅ์ž๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด ๋ฌดํ•œ๋Œ€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‰ํ–‰ํ•œ ๋ชจ์„œ๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๊ฐ€์žฅ ์ž‘์€ ์ง์ ‘ ์ค‘๋Ÿ‰์„ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ๋‘ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋ฌดํ•œ ๊ฐ์‹œ์ž๊ฐ€ ์˜ค๋ฒ„ํ”Œ๋กœ๋˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ํ›„๋ณด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋„๋ก ๋‘˜ ๋‹ค ์œ ํ•œํ•œ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋งคํŠธ๋ฆญ์Šค ์…€์ดˆ๊ธฐ๊ฐ’์ด์œ 
dist[i][i]0์ •์ ์—์„œ ์ •์  ์ž์ฒด๊นŒ์ง€์˜ ๋นˆ ๊ฒฝ๋กœ
์ง์„  ๊ฐ€์žฅ์ž๋ฆฌ i โ†’ j๊ฐ€์žฅ์ž๋ฆฌ ๊ฐ€์ค‘์น˜์ค‘๊ฐ„ ์ •์ ์ด ์—†๋Š” ์ตœ์ ์˜ ๊ฒฝ๋กœ
์ง์ ‘์ ์ธ ๊ฐ€์žฅ์ž๋ฆฌ ์—†์Œ์ธํ”ผ๋‹ˆํ‹ฐ์Œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•„์ง ์•Œ๋ ค์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
ํ‰ํ–‰ํ•œ ๋ชจ์„œ๋ฆฌ์ตœ์†Œ ๊ฐ€์žฅ์ž๋ฆฌ ๋ฌด๊ฒŒ์ตœ์„ ์˜ ์ง์ ‘ ์˜ต์…˜์€ ๊ธฐ๋ณธ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

์ธํ„ฐ๋ทฐ์—์„œ Floydโ€“Warshall์„ ์–ด๋–ป๊ฒŒ ์ถ”์ ํ•ฉ๋‹ˆ๊นŒ?

ํ–‰๋ ฌ ํ–‰์— ์†Œ์Šค๋กœ ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•˜๊ณ  ์—ด์— ๋Œ€์ƒ์œผ๋กœ ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ํ–‰๋ ฌ์„ ํ‘œ์‹œํ•œ ๋‹ค์Œ ํ•˜๋‚˜์˜ k๋ฅผ ์„ ํƒํ•˜๊ณ  ๋Œ€ํ‘œ ์…€์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์…€์— ๋Œ€ํ•ด ํ˜„์žฌ ๊ฐ’์„ k๋ฅผ ํ†ตํ•œ ๊ฒฝ๋กœ์™€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋‘์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ  ์ƒˆ ํ•ฉ๊ณ„๊ฐ€ ๋” ์ž‘์€ ๊ฒฝ์šฐ์—๋งŒ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

์ผ๋ฐ˜์ ์œผ๋กœ ํฐ ์˜ˆ๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ํ–‰๋ ฌ์„ ๊ทธ๋ฆด ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ํ•œ ๊ฐ€์ง€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฐ’์„ ํฌํ•จํ•˜์—ฌ ๋ถˆ๋ณ€์„ฑ์„ ์ž…์ฆํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์…€์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. k๋ฅผ ์™„๋ฃŒํ•œ ํ›„ ๋ชจ๋“  ํ–‰๋ ฌ ํ•ญ๋ชฉ์€ ์ค‘๊ฐ„ ์ •์ ์ด ์ฒ˜๋ฆฌ๋œ ์ง‘ํ•ฉ์œผ๋กœ ์ œํ•œ๋˜๋Š” ๊ฒฝ๋กœ ์ค‘์—์„œ ์ตœ์ ์ž„์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ, ๋ณต์žก์„ฑ ๋ฐ ์—ฃ์ง€ ์ผ€์ด์Šค์— ๋Œ€ํ•œ ์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ๋ถ„์„

์–ด๋–ค ์˜์‚ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์™ธ๋ถ€์— k๊ฐ€ ์žˆ๋Š” ์„ธ ๊ฐœ์˜ ์ค‘์ฒฉ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

for k from 0 to V - 1:
  for i from 0 to V - 1:
    for j from 0 to V - 1:
      if dist[i][k] is finite and dist[k][j] is finite:
        dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

์œ ํ•œ ๊ฒ€์‚ฌ์™€ ์ˆซ์ž ์œ ํ˜•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์„ธ์š”. ํฐ ์ •์ˆ˜ ์„ผํ‹ฐ๋„์ด ์žˆ๋Š” ์–ธ์–ด์—์„œ๋Š” ์Œ์ˆ˜ ๊ฐ’์— ๋ฌดํ•œ๋Œ€๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์œ ํ•œํ•ด ๋ณด์ด๊ฑฐ๋‚˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋“œ๋Š” ๋‹จ์ˆœํ•œ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ ์ •ํ™•์„ฑ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์˜ ๋ณต์žก์„ฑ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์„ธ ๊ฐœ์˜ ๋ฃจํ”„๋Š” k, i, j์˜ ๋ชจ๋“  ์กฐํ•ฉ์„ ๊ฒ€์‚ฌํ•˜๋ฏ€๋กœ ๋Ÿฐํƒ€์ž„์€ O(Vยณ)์ž…๋‹ˆ๋‹ค. ๊ฑฐ๋ฆฌ ํ–‰๋ ฌ์€ O(Vยฒ) ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์—…๋ฐ์ดํŠธ๋Š” 3์ฐจ์› ํ…Œ์ด๋ธ”์„ ํ”ผํ•˜๋Š” ๋ฐ˜๋ฉด, ๊ฒฝ๋กœ ์žฌ๊ตฌ์„ฑ์„ ์œ„ํ•œ ๋‹ค์Œ ํ™‰ ๋˜๋Š” ์„ ํ–‰ ํ–‰๋ ฌ์€ O(Vยฒ) ๋” ๋งŽ์€ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Floydโ€“Warshall์€ ๊ตฌํ˜„์ด ๊ฐ„๊ฒฐํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ๋‹นํ•œ ๋ฐ€๋„์˜ ๊ทธ๋ž˜ํ”„์— ์ข…์ข… ๋งค๋ ฅ์ ์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ„์„ ์ด ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ํฌ์†Œ ๊ทธ๋ž˜ํ”„์˜ ๊ฒฝ์šฐ ๊ฐ ์†Œ์Šค์—์„œ Dijkstra๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•˜๊ธฐ ์ „์— ํ•ญ์ƒ ํ•„์š”ํ•œ ์ถœ๋ ฅ, ๊ทธ๋ž˜ํ”„ ๋ฐ€๋„, ๊ฐ€์ค‘์น˜ ์ œ์•ฝ ์กฐ๊ฑด ๋ฐ ์ •์  ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์‹ญ์‹œ์˜ค.

์‹ค์ œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๊นŒ?

๊ฑฐ๋ฆฌ๋งŒ์œผ๋กœ๋Š” ์ •์  ์ˆœ์„œ๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. i์—์„œ j๋กœ์˜ ์ง์ ‘ ๊ฐ„์„ ์ด ์กด์žฌํ•  ๋•Œ j๋กœ ์ดˆ๊ธฐํ™”๋œ next[i][j] ํ–‰๋ ฌ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. k๋ฅผ ํ†ตํ•œ ๋ผ์šฐํŒ…์ด dist[i][j]์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๋•Œ๋งˆ๋‹ค next[i][j]๋ฅผ next[i][k]๋กœ ์„ค์ •ํ•˜์„ธ์š”. ๊ฒฝ๋กœ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋Œ€์ƒ์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ํ˜„์žฌ ์ •์ ์—์„œ next[current][destination]๊นŒ์ง€ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์žฌ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์Œ์„ ํ™•์ธํ•˜๊ณ  ๋ถ€์ •์ ์ธ ์ฃผ๊ธฐ ์‚ฌ๋ก€๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜์„ธ์š”. ์Œ์ด ์Œ์˜ ์ฃผ๊ธฐ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํ•œํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

Floydโ€“Warshall์€ ์–ด๋–ป๊ฒŒ ์Œ์˜ ์ˆœํ™˜์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๊นŒ?

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์™„๋ฃŒ๋œ ํ›„ ๋Œ€๊ฐ์„ ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. dist[v][v] < 0 ๊ฐ’์€ v์—์„œ ์Œ์˜ ๊ฐ€์ค‘์น˜ ์‚ฌ์ดํด์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ  v๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Œ์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ์Œ์˜ ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ์ฐพ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์™„๋ฒฝํ•˜๊ฒŒ ์œ ํšจํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ฐ–๋Š” ๊ทธ๋ž˜ํ”„์—๋Š” ์Œ์˜ ๊ฐ€์žฅ์ž๋ฆฌ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉด์ ‘๊ด€์ด ์–ด๋–ค ์Œ์ด ์˜ํ–ฅ์„ ๋ฐ›๋Š”์ง€ ๋ฌป๋Š” ๊ฒฝ์šฐ i๊ฐ€ ์ •์  v์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ  v๊ฐ€ j์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  i์™€ j๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Œ์€ ์Œ์˜ ์ˆœํ™˜์„ ์ž„์˜๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ฐ’์€ ์œ ํ•œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์–ธ์ œ ๋‹ค๋ฅธ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ทธ๋ž˜ํ”„์—๋Š” ๋„ˆ๋น„ ์šฐ์„  ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•˜๊ณ , ์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๋‹จ์ผ ์†Œ์Šค ๋ฌธ์ œ์—๋Š” Dijkstra๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์Œ์ˆ˜ ๊ฐ€์ค‘์น˜ ๋˜๋Š” ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์Œ์ฃผ๊ธฐ ๊ฐ์ง€๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ๋‹จ์ผ ์†Œ์Šค์—๋Š” Bellmanโ€“Ford๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Floydโ€“Warshall์€ ๋ชจ๋“  ์Œ ๊ฑฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ณ  ์ž…๋ฐฉ ์‹œ๊ฐ„์ด ํ—ˆ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ์ผ๋ฐ˜์ ์ธ ์„ ํƒ
๋น„๊ฐ€์ค‘ ๋‹จ์ผ ์†Œ์Šค๋„ˆ๋น„ ์šฐ์„  ๊ฒ€์ƒ‰
์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ€์ค‘์น˜ ๋‹จ์ผ ์†Œ์Šค๋ฐ์ดํฌ์ŠคํŠธ๋ผ
์Œ์ˆ˜ ๊ฐ€์ค‘์น˜, ๋‹จ์ผ ์†Œ์Šค๋ฒจ๋จผ-ํฌ๋“œ
๋ชจ๋“  ์Œ, ๋ณดํ†ต ๋˜๋Š” ์กฐ๋ฐ€ํ•œ ๊ทธ๋ž˜ํ”„ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ

์–ด๋–ค ๋ฉด์ ‘ ์‹ค์ˆ˜๋ฅผ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

k๋ฅผ ๋‹ค๋ฅธ ๋ฃจํ”„ ์•ˆ์— ๋„ฃ๊ฑฐ๋‚˜, ๋Œ€๊ฐ์„ ์— 0์„ ์žŠ์–ด๋ฒ„๋ฆฌ๊ฑฐ๋‚˜, ๊ฐ€๋“œ ์—†์ด ๋ฌดํ•œ๋Œ€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ์Œ์ˆ˜ ์—์ง€๋ฅผ ์Œ์ˆ˜ ์‚ฌ์ดํด๊ณผ ํ˜ผ๋™ํ•˜๊ฑฐ๋‚˜, O(Vยฒ) ํ–‰๋ ฌ ๊ณต๊ฐ„์ด ๋ชจ๋“  ํ‘œํ˜„์—์„œ ์ž๋™์œผ๋กœ ์ž…๋ ฅ์„ ํฌํ•จํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ฐฉํ–ฅ์„ ํ–ฅํ•˜๊ณ  ์žˆ๋Š”์ง€, ํ‰ํ–‰ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€, ๋ฉด์ ‘๊ด€์—๊ฒŒ ๊ฑฐ๋ฆฌ, ๊ฒฝ๋กœ ๋˜๋Š” ์ฃผ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์Œ์ด ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ๋ณด์กฐ ์›Œํฌํ”Œ๋กœ์„ ์—ฐ์Šตํ•˜๊ณ , Bellmanโ€“Ford ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋น„๊ตํ•˜๊ณ , Big O ๋ณต์žก์„ฑ ์น˜ํŠธ ์‹œํŠธ์„ ๊ฒ€ํ† ํ•˜์„ธ์š”.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

FAQ

Floyd-Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์—‡์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๊นŒ?

Floydโ€“Warshall์€ ๊ฐ€์ค‘์น˜ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ์ •์  ์Œ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์Œ์˜ ๊ฐ„์„  ๊ฐ€์ค‘์น˜๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์Œ์˜ ๊ฐ€์ค‘์น˜ ์ฃผ๊ธฐ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์Œ์— ๋Œ€ํ•ด์„œ๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๊ฐ€ ์ž˜ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์žฌ๋ฐœ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ฐ ์ค‘๊ฐ„ ์ •์  k์— ๋Œ€ํ•ด dist[i][j]๋ฅผ ํ˜„์žฌ ๊ฐ’๊ณผ dist[i][k] + dist[k][j]์˜ ์ตœ์†Œ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ ๋ฃจํ”„๋Š” k์—ฌ์•ผ ํ•˜๋ฏ€๋กœ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๋Š” ํ—ˆ์šฉ๋œ ์ค‘๊ฐ„ ์ •์ ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์˜ ๋ณต์žก์„ฑ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ‘œ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ O(Vยณ) ์‹œ๊ฐ„์— ์‹คํ–‰๋˜๋ฉฐ ๊ฑฐ๋ฆฌ ํ–‰๋ ฌ์— O(Vยฒ) ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ ์žฌ๊ตฌ์„ฑ์€ ๋˜ ๋‹ค๋ฅธ O(Vยฒ) ํ–‰๋ ฌ์„ ์ถ”๊ฐ€ํ•˜์ง€๋งŒ ์ ๊ทผ์  ์‹œ๊ฐ„ ์ œํ•œ์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Floydโ€“Warshall์ด ์Œ์˜ ์ˆœํ™˜์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ค‘๊ฐ„ ๊ผญ์ง“์ ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ dist[v][v]์˜ ์Œ์ˆ˜ ๊ฐ’์€ v์—์„œ ์Œ์˜ ๊ฐ€์ค‘์น˜ ์ฃผ๊ธฐ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฃผ๊ธฐ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ชจ๋“  ์†Œ์Šค-๋Œ€์ƒ ์Œ์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด ์ถ”๊ฐ€์ ์ธ ๋„๋‹ฌ ๊ฐ€๋Šฅ์„ฑ ์ถ”๋ก ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Dijkstra ๋Œ€์‹  Floydโ€“Warshall์„ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋ชจ๋“  ์Œ ๊ฑฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ Floydโ€“Warshall์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ž˜ํ”„์˜ ํฌ๊ธฐ๋Š” ์ ๋‹นํ•˜๋ฉฐ ๊ฐ„๋‹จํ•œ ๋ฐ€์ง‘ ๊ทธ๋ž˜ํ”„ ์†”๋ฃจ์…˜์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต๋˜๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ–๋Š” ํฐ ํฌ์†Œ ๊ทธ๋ž˜ํ”„์— ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฃจํ”„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ถˆ๋ณ€์„ฑ์„ ์—ฐ์Šตํ•˜์„ธ์š”.

YesToTheOffer๋Š” ์ฝ”๋”ฉ ์„ค๋ช…์„ ๊ตฌ์„ฑํ•˜๊ณ , ์ด๋ฅผ ๊ฐœ์ธ ์ค€๋น„ ๋…ธํŠธ์— ๊ธฐ์ดˆํ•˜๊ณ , ๊ทน๋‹จ์ ์ธ ์‚ฌ๋ก€๋ฅผ ์กฐ์‚ฌํ•˜๊ณ , ๋‚˜์ค‘์— ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธํ„ฐ๋ทฐ ๊ธฐ๋ก์„ ๋ณด์กดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฃจํ”„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ถˆ๋ณ€์„ฑ์„ ์—ฐ์Šตํ•˜์„ธ์š”.

๋ฐ˜๋ณต์„ ์—ฐ์Šตํ•˜๊ณ , k๊ฐ€ ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ์ธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ํ…Œ์ŠคํŠธ ๊ฒฝ๋กœ ์žฌ๊ตฌ์„ฑ๊ณผ ์Œ์˜ ์ฃผ๊ธฐ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

YesToTheOffer รฌย‚ยฌรฌยšยฉรญย•ยด รซยณยดรชยธยฐ
ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ธํ„ฐ๋ทฐ ๊ฐ€์ด๋“œ | yestotheoffer