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

์ฝ”๋”ฉํ…Œ์ŠคํŠธ2

[DFS/BFS : python] ์ด์ฝ”ํ…Œ ๋‚ด์šฉ ์ •๋ฆฌ ๋ฐ ๋ฌธ์ œ ํ’€์ด ๊ธฐ๋ก * ์ด์ฝ”ํ…Œ ํŒŒ์ด์ฌ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํƒ์ƒ‰์ด๋ž€? ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ณผ์ • ๋Œ€ํ‘œ์ ์ธ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— DFS์™€ BFS๊ฐ€ ์žˆ๋‹ค. ๋งค์šฐ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์œ ํ˜•์ด๋ผ์„œ ๊ผญ ์ˆ™์ง€ํ•˜๋„๋ก ํ•˜์ž! ์•Œ์•„์•ผํ•  ์ž๋ฃŒ๊ตฌ์กฐ : ์Šคํƒ ๋จผ์ € ๋“ค์–ด ์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์ค‘์— ๋‚˜๊ฐ€๋Š” ํ˜•์‹์ธ ์„ ์ž… ํ›„์ถœ(LIFO)์˜ ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์—ฐ์‚ฐ 1๏ธโƒฃ์Šคํƒ์„ ํŒŒ์ด์ฌ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํŒŒ์ด์ฌ์—์„œ์˜ ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. stack = [] 2๏ธโƒฃ์—ฐ์‚ฐ ๋ฆฌ์ŠคํŠธ์˜ append ์—ฐ์‚ฐ๊ณผ pop์—ฐ์‚ฐ์„ ํ†ตํ•ด ์Šคํƒ์˜ ์‚ฝ์ž… ์‚ญ์ œ ์—ฐ์‚ฐ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฝ์ž… : append() ์‚ญ์ œ : pop() ์ถœ๋ ฅ ํ˜•ํƒœ - ์ตœ์ƒ๋‹จ ์›์†Œ๋ถ€ํ„ฐ ์ถœ๋ ฅ : ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด์˜จ ์›์†Œ๋ถ€ํ„ฐ ์ถœ๋ ฅ print(stack[::-1]) - ์ตœํ•˜๋‹จ ์›์†Œ๋ถ€.. 2024. 4. 6.
[๊ตฌํ˜„: python]๊ฐœ๋…๊ณผ ๋ฌธ์ œ ํ’€์ด ์ •๋ฆฌํ•˜๊ธฐ ๊ตฌํ˜„ ๊ตฌํ˜„์ด๋ž€ ๋จธ๋ฆฟ ์†์— ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ด๋‹ค. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ๋Š” ํŒŒ์ด์ฌ์—์„œ ์‰ฌ์šด ํŽธ์ด๋‹ค. ๊ตฌํ˜„ ์œ ํ˜• ๋ฌธ์ œ๋Š” ๋งŽ์€ ์—ฐ์Šต์ด ํ•„์š”ํ•˜๋‹ค 2์ฐจ์› ๊ณต๊ฐ„ ํ–‰๋ ฌ : 2์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ ํŒŒ์ด์ฌ : 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ x : ํ–‰ y : ์—ด ์˜ˆ์ œ 1 ์ƒํ•˜์ขŒ์šฐ ํ’€์–ด๋ณด๊ธฐ 1๏ธโƒฃ์ด๋™ํ•˜๋Š” ๋กœ์ง - ๋ฐฉํ–ฅ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•ด๋ณด์ž L : ํ–‰์€ ๊ทธ๋Œ€๋กœ ์—ด์€ -1 R : ํ–‰์€ ๊ทธ๋Œ€๋กœ ์—ด์€ +1 U : ํ–‰์€ -1 ์—ด์€ ๊ทธ๋Œ€๋กœ D : ํ–‰์€ +1 ์—ด์„ ๊ทธ๋Œ€๋กœ ๊ฐ๊ฐ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ๋กœ ๋‚˜ํƒ€๋‚˜๋ฉด dx = [0 ,0, -1 ,+1] dy = [-1,+1, 0 ,0] 2๏ธโƒฃ์ •์‚ฌ๊ฐํ˜•์„ ๋ฒ—์–ด๋‚˜๋Š”์ง€ ํ™•์ธ ๋กœ์ง ํ˜„์žฌ์˜ ์œ„์น˜๊ฐ’์˜ ์ขŒํ‘œ๊ฐ€ >=1 ์ด์–ด์•ผํ•จ x >=1 ๊ทธ๋ฆฌ๊ณ  y >=1 ์ธ ๊ฒฝ์šฐ ๊ทธ๋ฆฌ๊ณ  ๋‘˜๋‹ค n๋ณด๋‹ค๋Š” ์ž‘๊ฑฐ.. 2024. 3. 28.
728x90