BFS

์•Œ๊ณ ๋ฆฌ์ฆ˜/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹จ์–ด ๋ณ€ํ™˜

โœจ BFS/DFS https://school.programmers.co.kr/learn/courses/30/lessons/43163# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ๋งŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ begin์—์„œ target์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฐ€์žฅ ์งง์€ ๋ณ€ํ™˜ ๊ณผ์ • ์ฐพ๊ธฐ ๊ตณ์ด ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋Œ€๋กœ ์ฐพ์„ ํ•„์š” ์—†์Œ ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • ๐Ÿ‘‰ ์ด ๋ฌธ์ œ ๊ฐ™์€ ๊ฒฝ์šฐ DFS์™€ BFS ๋ชจ๋‘ ํ’€์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ DFS๋กœ ๊ตฌํ˜„ํ•  ์‹œ์—๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ํฌ๋‹ค. ๐Ÿ”น DFS words ๋ฐฐ์—ด์—์„œ ํ˜„์žฌ ๋‹จ์–ด์™€ ํ•œ ๊ธ€์ž๋งŒ ๋‹ค๋ฅธ ๋‹จ์–ด๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ๐Ÿ‘‰ ์ค‘๋ณต ํƒ์ƒ‰์„ ๋ฐฉ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 18352 ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ - Java

โœจ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ โœจ BFS, ๋‹ค์ต์ŠคํŠธ๋ผ โž” ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฐพ๊ธฐ https://www.acmicpc.net/problem/18352 18352๋ฒˆ: ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N, ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M, ๊ฑฐ๋ฆฌ ์ •๋ณด K, ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ X๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 โ‰ค N โ‰ค 300,000, 1 โ‰ค M โ‰ค 1,000,000, 1 โ‰ค K โ‰ค 300,000, 1 โ‰ค X โ‰ค N) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๋‘ ๊ฐœ www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์ถœ๋ฐœ ๋„์‹œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. โž” ํ•ด๋‹นํ•˜๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์ธ ๋„์‹œ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ํ•˜๋‚˜์˜ ๋„์‹œ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋„์‹œ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋„์‹œ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ชจ๋‘ 1์ด๊ธฐ ๋•Œ๋ฌธ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 4179 ๋ถˆ! - Java

โœจ BFS โž” ๋™์‹œ์— ์ด๋™์‹œํ‚ค๊ธฐ https://www.acmicpc.net/problem/4179 4179๋ฒˆ: ๋ถˆ! ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 โ‰ค R, C โ‰ค 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ถˆ๊ณผ ์ง€ํ›ˆ์ด๋ฅผ ๋™์‹œ์— ์ด๋™์‹œ์ผœ์•ผํ•œ๋‹ค. ๋™์‹œ์— ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ๋‘ ๊ฐœ์˜ ํ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ถˆ์€ ์ง€ํ›ˆ์ด์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. (์ง€ํ›ˆ์ด๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์—†์–ด๋„ ์–ธ์ œ๋“ ์ง€ ๋ฒฝ๋งŒ ์•„๋‹ˆ๋ผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ „ํŒŒ ๊ฐ€๋Šฅ) ์ง€ํ›ˆ์ด๋Š” ๋ถˆ์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. (๋ถˆ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ด๋™ ๋ถˆ๊ฐ€) ์ง€ํ›ˆ์ด๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์— ๋„๋‹ฌํ•˜๋ฉด ๋ฏธ๋กœ๋ฅผ ํ†ต๊ณผํ•  ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 14502 ์—ฐ๊ตฌ์†Œ - Java

โœจ BFS + DFS + ์™„์ „ํƒ์ƒ‰ https://www.acmicpc.net/problem/14502 14502๋ฒˆ: ์—ฐ๊ตฌ์†Œ ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์•„์ง ํผ์ง€์ง€ ์•Š์•˜๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ™•์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ตฌ์†Œ์— ๋ฒฝ์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ํฌ www.acmicpc.net ๐Ÿ“๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ฒฝ์„ 3๊ฐœ ์„ธ์šด๋‹ค. โž” ์ผ์ผ์ด 3๊ฐœ์˜ ๋ฒฝ์„ ์„ธ์›Œ๋ณธ ํ›„ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ํผ๋œจ๋ ค ์•ˆ์ „์˜์—ญ์ด ์ตœ๋Œ€์ธ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•œ๋‹ค. (๋ฐฑํŠธ๋ž˜ํ‚น + ์™„์ „ํƒ์ƒ‰) ๋ฒฝ์„ 3๊ฐœ ์„ธ์šด ํ›„ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ํผ์ง€๋Š” ๊ฒฝ์šฐ๋Š” ๋‹ค์–‘ํ•˜๋ฏ€๋กœ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด์„œ ๊ตฌํ•œ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • 1๏ธโƒฃ ๋ฐ”์ด๋Ÿฌ์Šค์™€ ๋ฒฝ์ด ์žˆ๋Š” ๊ณณ์˜ ์ •๋ณด๋ฅผ 2์ฐจ์› ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. 2๏ธโƒฃ ๋ฒฝ์„ ์„ธ์šด๋‹ค. โž” 3๊ฐœ์˜ ๋ฒฝ์„ ์„ธ์›Œ์•ผ ํ•˜๋ฏ€๋กœ ์กฐํ•ฉ์„ ์ƒ๊ฐํ•˜๋ฉด ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 1939 ์ค‘๋Ÿ‰์ œํ•œ

โœจ Binary Search + BFS/DFS https://www.acmicpc.net/problem/1939 1939๋ฒˆ: ์ค‘๋Ÿ‰์ œํ•œ ์ฒซ์งธ ์ค„์— N, M(1 โ‰ค M โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๋‹ค๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์„ธ ์ •์ˆ˜ A, B(1 โ‰ค A, B โ‰ค N), C(1 โ‰ค C โ‰ค 1,000,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” A๋ฒˆ ์„ฌ๊ณผ B๋ฒˆ ์„ฌ ์‚ฌ์ด์— ์ค‘๋Ÿ‰์ œํ•œ์ด www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋‘ ์„ฌ ์‚ฌ์ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ค๋ฆฌ๊ฐ€ ์žˆ๊ณ  ์–‘๋ฐฉํ–ฅ์ด๋‹ค. ๊ณต์žฅ์ด ์žˆ๋Š” ๋‘ ์„ฌ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•œ๋‹ค. (๋ฐ˜๋“œ์‹œ ์กด์žฌํ•˜๋Š” ๊ฒฝ๋กœ์˜ ์ž…๋ ฅ๊ฐ’๋งŒ ์ฃผ์–ด์ง) ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ฌผํ’ˆ์˜ ์ตœ๋Œ€ ์ค‘๋Ÿ‰ ๊ตฌํ•˜๊ธฐ ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • 1๏ธโƒฃ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์ฃผ์–ด์ง„ ๋‹ค๋ฆฌ ์ •๋ณด ์ €์žฅ (a์„ฌ๊ณผ b์„ฌ ์‚ฌ์ด์— ์ค‘๋Ÿ‰์ œํ•œ์ด ..

soogoori
'BFS' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก