Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Basic

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด๋ถ„๊ทธ๋ž˜ํ”„๋ž€? (ํŠน์ง•, ํƒ์ƒ‰๋ฐฉ๋ฒ•) (feat. BFS,DFS)

๊ฐ์ž ๐Ÿฅ” 2022. 5. 25. 16:28
๋ฐ˜์‘ํ˜•

๐Ÿ™‹๐Ÿป‍โ™€๏ธ ์ด๋ถ„๊ทธ๋ž˜ํ”„

์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๊ทธ๋ž˜ํ”„๊ฐ€ '๋‘๊ฐœ์˜ ์ƒ‰'์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฒƒ์„ ์ด๋ถ„๊ทธ๋ž˜ํ”„๋ผ๊ณ  ํ•œ๋‹ค. ๋นจ๊ฐ„์ •์ ๊ณผ ๊ฒ€์€์ •์  ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜์—ˆ๋Š”๋ฐ, ๊ฐ™์€ ๊ทธ๋ฃน๋ผ๋ฆฌ๋Š” ์ธ์ ‘ํ•˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค. ์ฆ‰, ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ์ •์ ์ด ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน์˜ ์ •์ ๋งŒ์ด ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งํ•œ๋‹ค.

 

๐Ÿ‘ป ์ด๋ถ„๊ทธ๋ž˜ํ”„์˜ ํŠน์ง•

  • ์ด๋ถ„ ๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” BFS์™€ DFS ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. DFS์™€ BFS๋ฅผ ํ†ตํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ™์€ depth์— ์žˆ๋Š” ์ •์ ์€ ๊ฐ™์€ ์ƒ‰์„ ๊ฐ–๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜๋‹ค.
  • ๋ชจ๋“  ์ •์ ์„ ๋ฐฉ๋ฌธํ•ด์„œ ๊ฒ€์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(V+E)๋กœ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™๋‹ค.

 

๐Ÿง‘๐Ÿป‍๐Ÿ’ป ์ด๋ถ„๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ: ์„œ๋กœ ์ธ์ ‘ํ•œ ์ •์ ์ด ๊ฐ™์€์ƒ‰์œผ๋กœ ์น ํ•ด์ง€๋ฉด ์ด๋ถ„๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹ˆ๋‹ค
โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ: ์—ฐ๊ฒฐ๊ทธ๋ž˜ํ”„, ๋น„์—ฐ๊ฒฐ๊ทธ๋ž˜ํ”„ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค. ๋น„์—ฐ๊ฒฐ์ธ ๊ฒฝ์šฐ, ๋ชจ๋“  ์ •์ ์— ๋Œ€ํ•ด์„œ ํ™•์ธ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. 

  1. ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์„œ (DFS, BFS) ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋‘ ์ƒ‰์„ ์น ํ•œ๋‹ค.
  2. ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ๊ทธ ๋…ธ๋“œ์™€ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ์ƒ‰์œผ๋กœ ์น ํ•ด์ค€๋‹ค.
  3. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ๊ทธ๋ž˜ํ”„์—์„œ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•  ๋•Œ ์ธ์ ‘ํ•œ ๋…ธ๋“œ์˜ ์ƒ‰์ด ํ˜„์žฌ ๋…ธ๋“œ์™€ ๋™์ผํ•œ ์ƒ‰์ƒ์ด๊ฒŒ ๋˜๋ฉด, ์ด๋ถ„๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค. BFS์ธ ๊ฒฝ์šฐ, ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋‹ค๊ฐ€ ๋งŒ์•ฝ ๊ฐ™์€ ๋ ˆ๋ฒจ์—์„œ์˜ ๋…ธ๋“œ๋ฅผ ๋‹ค๋ฅธ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผํ•˜๋ฉด ์ด๋Š” ์ด๋ถ„ ๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค.
  4. ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์—†๋‹ค๋ฉด, ์ด๋ถ„๊ทธ๋ž˜ํ”„์ด๋‹ค.

 

๐Ÿ’ป ์ด๋ถ„๊ทธ๋ž˜ํ”„์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ๋Œ€ํ‘œ ์˜ˆ์‹œ - ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๋ฐฑ์ค€ 1707 ๋ฌธ์ œ

https://didu-story.tistory.com/272

 

[๋ฐฑ์ค€] (Swift) 1707๋ฒˆ - ์ด๋ถ„๊ทธ๋ž˜ํ”„ (DFS๋กœ ํ’€๊ธฐ!)

๐Ÿ‘‰ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1707 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—

didu-story.tistory.com

 

๋ฐ˜์‘ํ˜•