๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/ShortestPath

๋ฌธ์ œ https://leetcode.com/problems/shortest-path-in-binary-matrix/description/ ์ฃผ์–ด์ง„ n x n ์ด์ง„ํ–‰๋ ฌ์ธ grid์—์„œ, ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์งง์€ Clear Path์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ. ๋งŒ์•ฝ Clear Path๊ฐ€ ์—†๋‹ค๋ฉด, -1์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ๋ผ. ์ด์ง„ํ–‰๋ ฌ์—์„œ์˜ Clear Path๋Š” ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” (0, 0) ์ขŒํ‘œ์—์„œ (n-1, n-1) ์ขŒํ‘œ๊นŒ์ง€์˜ ๊ฒฝ๋กœ ์ด๋‹ค. ์กฐ๊ฑด - ๋ฐฉ๋ฌธํ•˜๋Š” ๋ชจ๋“  ์ขŒํ‘œ์˜ ๊ฐ’์€ 0์ด๋‹ค. - ๊ฒฝ๋กœ์—์„œ ๋ชจ๋“  ์ธ์ ‘ํ•œ ์ขŒํ‘œ๋Š” 8๋ฐฉํ–ฅ(์ƒ, ํ•˜, ์ขŒ, ์šฐ, ์šฐ์ƒ, ์šฐํ•˜, ์ขŒ์ƒ, ์ขŒํ•˜)์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. Clear Path์˜ ๊ธธ์ด๋Š” ๊ฒฝ๋กœ ๋‚ด ๋ฐฉ๋ฌธํ•œ ์ขŒํ‘œ์˜ ์ˆ˜ ์ด๋‹ค. ํ’€์ด ์ „ํ˜•์ ์ธ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” BFS ๋ฌธ์ œ : Queue ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„ˆ..
๋ฌธ์ œ (Gold 5) https://www.acmicpc.net/problem/13549 13549๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 3 ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ํ’€์ด ์ฒ˜์Œ์— ๋‹จ์ˆœํžˆ BFS ( 1์ฐจ์› ๋ฐฐ์—ด ํƒ์ƒ‰ ) ์œผ๋กœ ํ’€์—ˆ๋”๋‹ˆ ๋‹น์—ฐํžˆ! ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐฉ๋ฌธํ•˜๋Š” ์ธ๋ฑ์Šค๋งˆ๋‹ค์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ! ์ฝ”๋“œ ๋”๋ณด๊ธฐ package shortestPath; import java.util.*; import java.io.*; public class Main_13549_์ˆจ๋ฐ”๊ผญ์งˆ3{ p..
๋ฌธ์ œ (Gold 3) https://www.acmicpc.net/problem/1238 1238๋ฒˆ: ํŒŒํ‹ฐ ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž…๋ ฅ๋œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ i๋ฒˆ์งธ ๋„๋กœ์˜ ์‹œ์ž‘์ , ๋์ , ๊ทธ๋ฆฌ๊ณ  ์ด ๋„๋กœ๋ฅผ ์ง€๋‚˜๋Š”๋ฐ ํ•„์š”ํ•œ ์†Œ์š”์‹œ๊ฐ„ Ti๊ฐ€ ๋“ค์–ด www.acmicpc.net ํ’€์ด ๋งˆ์„๋“ค์ธ N์—์„œ ๋ชฉ์ ์ง€ X๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ๊ฑฐ๋ฆฌ -> A ๋ชฉ์ ์ง€ X์—์„œ ๊ฐ ๋งˆ์„ N๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ๊ฑฐ๋ฆฌ -> B ๋ฅผ ์ด์šฉํ•ด์„œ ์™•๋ณต ๊ฑฐ๋ฆฌ์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•œ๋‹ค! B๋Š” ์ถœ๋ฐœ์ง€๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉ A์˜ ๊ฒฝ์šฐ, ๋ชจ๋“  ๋…ธ๋“œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋ ค๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์„ ์ด์šฉํ•˜๋ ค ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ, ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์˜ ๊ฒฝ์šฐ ..
๋ฌธ์ œ (Gold 2) https://www.acmicpc.net/problem/11780 11780๋ฒˆ: ํ”Œ๋กœ์ด๋“œ 2 ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค์˜ ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net ํ’€์ด ๋ชจ๋“  ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ตœ์†Œ ๋น„์šฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ 'ํ”Œ๋กœ์ด๋“œ-์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์‚ฌ์šฉ! ์ตœ์†Œ ๋น„์šฉ ์™ธ, ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋‚ด์šฉ๋„ ์ €์žฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด์ฐจ์›๋ฐฐ์—ด ๋ณ€์ˆ˜ ํ•˜๋‚˜ ๋” ์„ ์–ธ map[i][j]: i -> j ๊ฒฝ๋กœ์˜ ์ตœ์†Œ ๋น„์šฉ ์ €์žฅ path[i][j]: i์—์„œ ์ถœ๋ฐœํ•ด์„œ j๊นŒ์ง€ ๋„์ฐฉํ•˜๊ธฐ ์ง์ „์— ๋“ค๋ฅด๋Š” ๋„์‹œ ๋ฐ”๋กœ ์˜ค๋Š” ๊ธธ(map[i][j])๋ณด๋‹ค ๊ฒฝ๋กœ k๋ฅผ ๊ฑฐ์ณ์„œ ์˜ค๋Š” ๊ธธ(map[i][k..
์ ์ด
'๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/ShortestPath' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก