๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

dfs3

[BOJ] 2529๋ฒˆ - ๋ถ€๋“ฑํ˜ธ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ ์•ž๋’ค์— ์„œ๋กœ ๋‹ค๋ฅธ ํ•œ ์ž๋ฆฟ์ˆ˜ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์„œ ๋ชจ๋“  ๋ถ€๋“ฑํ˜ธ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ๊ตฌํ•ด์•ผํ•œ๋‹ค. → ์ด ์ˆ˜์—ด์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ ๋ถ€๋“ฑํ˜ธ์˜ ์•ž๋’ค์— ๋“ค์–ด๊ฐ€๋Š” ์ˆซ์ž๋Š” { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }์ค‘์—์„œ ์„ ํƒํ•ด์•ผ ํ•˜๋ฉฐ ์„ ํƒ๋œ ์ˆซ์ž๋Š” ๋ชจ๋‘ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. → ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•  ๋ฐฐ์—ด์€ ์œ„์™€ ๊ฐ™๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’๋“ค๋กœ ์ด๋ค„์ง€๋„๋ก visited ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด์ œ ์—ฌ๊ธฐ์„œ ๋ชจ๋“  ๋ถ€๋“ฑํ˜ธ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ตฌํ•ด์•ผํ•œ๋‹ค. ์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ ์ฒซ ์ž๋ฆฌ๊ฐ€ 0์ธ ๊ฒฝ์šฐ๋„ ์ •์ˆ˜์— ํฌํ•จํ•ด์•ผํ•œ๋‹ค. ์ฆ‰, 0123๊ณผ ๊ฐ™์ด ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค. ๋‚˜๋Š” ์ด๋ฅผ ์‰ฝ๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด๋กœ ๋‹ต์„ ๊ตฌํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ์†Ÿ๊ฐ’.. 2024. 3. 11.
[BOJ] 13023๋ฒˆ - ABCDE (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์˜ค๋Š˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ A, B, C, D, E๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. - A๋Š” B์™€ ์นœ๊ตฌ๋‹ค. - B๋Š” C์™€ ์นœ๊ตฌ๋‹ค. - C๋Š” D์™€ ์นœ๊ตฌ๋‹ค. - D๋Š” E์™€ ์นœ๊ตฌ๋‹ค. ์šฐ์„  ์—ฌ๊ธฐ์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ N๋ช… ์ค‘ 5๋ช…์ด ์ด์™€ ๊ฐ™์€ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์„ ํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”„์˜ ๊นŠ์ด๊ฐ€ 5์ด์ƒ์ผ ๊ฒฝ์šฐ ์œ„์™€ ๊ฐ™์€ ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์ด๋Š” ํŒ๋ณ„๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ๋ชจ๋“  ํƒ์ƒ‰์„ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ๐Ÿ€ ํ’€์ด ๐Ÿ€ package Baekjoon; import java.io.*; import java.util.*; public class DFS13023 { sta.. 2024. 3. 1.
[graph] ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS, Depth First Search) ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ(Graph Traversal) ๋˜๋Š” ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰(Graph Search) ๋ž€? ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ ์„ ํ•œ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒƒ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS, Depth First Search) ์‹œ์ž‘ ์ •์ ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋จผ ๊ฒฝ๋กœ๊นŒ์ง€ ๊นŠ์ด ํƒ์ƒ‰ํ•ด๊ฐ€๋‹ค๊ฐ€ ๋” ์ด์ƒ ๊ฐˆ ๊ณณ์ด ์—†์œผ๋ฉด ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋งŒ๋‚ฌ๋˜ ๊ฐ„์„ ์ด ์žˆ๋Š” ์ •์ ์œผ๋กœ ๋˜๋Œ์•„์™€์„œ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์˜ ๊ฐ„์„ ์œผ๋กœ ํƒ์ƒ‰์„ ๊ณ„์†ํ•จ์œผ๋กœ์จ ๋ชจ๋“  ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœํšŒ๋ฐฉ๋ฒ• ๋งˆ์ง€๋ง‰ ๊ฐˆ๋ฆผ๊ธธ๋กœ ๋˜๋Œ์•„๊ฐ€์•ผํ•˜๋ฏ€๋กœ ํ›„์ž…์„ ์ถœ(Last-IN-First-Out) ๊ตฌ์กฐ์ธ ์Šคํƒ(Stack) ์‚ฌ์šฉ ์‚ฌ์‹ค์ƒ ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ ๋˜‘๊ฐ™์€ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•œ๋‹ค. DFS ์ˆ˜ํ–‰ ์ˆœ์„œ ์Šคํƒ์ด ๊ณต๋ฐฑ์ด ๋  ๋•Œ๊นŒ์ง€ ๋นจ๊ฐ„ ์ƒ์ž ๋ถ€๋ถ„์„ ๋ฐ˜๋ณตํ•œ๋‹ค. DFS ๊ณผ์ • ํ‘œํ˜„ ↓ ↓ ↓ ↓ ↓ ↓ ↓ .. 2023. 3. 6.
728x90