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

์•Œ๊ณ ๋ฆฌ์ฆ˜8

[์•Œ๊ณ ๋ฆฌ์ฆ˜]๊ทธ๋ฆฌ๋”” ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด๋Š” ๊ฒƒ๋งŒ์„ ์„ ํƒํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿงค ๊ทธ๋ฆฌ๋””(ํƒ์š•๋ฒ•)์ด๋ž€? ⇒ ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ์ œ์ณ๋‘๊ณ  ๊ฐ€์žฅ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ• ํ•œ๊ฐœ๋งŒ ํŒŒ๊ณ  ๋“ค์–ด์„œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ตœ์†Œ๋™์ „ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. (ex. ๋™์ „์œผ๋กœ 1400์„ ๋งŒ๋“ค๋•Œ ๋™์ „์„ ๊ฐ€์žฅ ์ ๊ฒŒ ์“ฐ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ฐพ๊ธฐ) ⇒ ๋งค ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ข‹์•„๋ณด์ด๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋ฉฐ, ํ˜„์žฌ์˜ ์„ ํƒ์ด ๋‚˜์ค‘์— ๋ฏธ์น  ์˜ํ–ฅ์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ’ก ๊ทธ๋ฆฌ๋””๋ฌธ์ œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๊ทธ๋ฆฌ๋””์ธ๊ฐ€? ๋ฐ˜๋ก€๊ฐ€ ์žˆ๋Š”๊ฒƒ์€ ์•„๋‹๊นŒ? ๋ผ๋Š” ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์–ด๋ ต๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋Š์ž„์—†์ด ์ด ๋ฌธ์ œ๋ฅผ ๊ทธ๋ฆฌ๋””๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š”์ง€, ๋ฐ˜๋ก€๊ฐ€ ์žˆ์„์ง€ ์—†์„์ง€ ๊ณ ๋ฏผํ•˜๋Š”๊ฒƒ์ด ์ •์ƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋Š” ์ž์ฃผ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ง์„ ์ด๋ค„ ์ถœ์ œ๋œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ ์œ ํ˜•์ด "๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋™์ „์œผ.. 2023. 9. 11.
[๋ธŒ๋ฃจํŠธํฌ์Šค][๋ฐฑ์ค€]1018-์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์‹œ๊ฐ„ ์ œํ•œ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ œ์ถœ์ •๋‹ต๋งžํžŒ ์‚ฌ๋žŒ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 128 MB 103387 51258 41039 49.647% ๋ฌธ์ œ ์ง€๋ฏผ์ด๋Š” ์ž์‹ ์˜ ์ €ํƒ์—์„œ MN๊ฐœ์˜ ๋‹จ์œ„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” M×N ํฌ๊ธฐ์˜ ๋ณด๋“œ๋ฅผ ์ฐพ์•˜๋‹ค. ์–ด๋–ค ์ •์‚ฌ๊ฐํ˜•์€ ๊ฒ€์€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ , ๋‚˜๋จธ์ง€๋Š” ํฐ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋‹ค. ์ง€๋ฏผ์ด๋Š” ์ด ๋ณด๋“œ๋ฅผ ์ž˜๋ผ์„œ 8×8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ฒด์ŠคํŒ์€ ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰์ด ๋ฒˆ๊ฐˆ์•„์„œ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ๊ฐ ์นธ์ด ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰ ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ‰์น ๋˜์–ด ์žˆ๊ณ , ๋ณ€์„ ๊ณต์œ ํ•˜๋Š” ๋‘ ๊ฐœ์˜ ์‚ฌ๊ฐํ˜•์€ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์ •์˜๋ฅผ ๋”ฐ๋ฅด๋ฉด ์ฒด์ŠคํŒ์„ ์ƒ‰์น ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‘ ๊ฐ€์ง€๋ฟ์ด๋‹ค. ํ•˜๋‚˜๋Š” ๋งจ ์™ผ์ชฝ ์œ„ ์นธ์ด ํฐ์ƒ‰์ธ ๊ฒฝ์šฐ, ํ•˜๋‚˜๋Š” ๊ฒ€์€์ƒ‰์ธ ๊ฒฝ์šฐ์ด๋‹ค. ๋ณด๋“œ๊ฐ€ ์ฒด์ŠคํŒ์ฒ˜๋Ÿผ .. 2023. 9. 10.
[Queue/Deque] ํ/๋ฑ - ํ† ์ด ํŽธ์ง‘๊ธฐ Undo Redo ํ† ์ด ํŽธ์ง‘๊ธฐ Undo Redo ํ† ์ด ํŽธ์ง‘๊ธฐ์— ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜๋Š”๋ฐ ์‹คํ–‰์ทจ์†Œ(Undo)๊ธฐ๋Šฅ๊ณผ ๋‹ค์‹œ์‹คํ–‰(Redo)๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์‹คํ–‰์ทจ์†Œ(Undo) ๊ธฐ๋Šฅ์€ ์ œ์ผ ์ตœ๊ทผ์— ์ž‘์—…(Last In)ํ•œ ๊ฒƒ์„ ์ทจ์†Œ์‹œํ‚ค๋Š” ๊ฒƒ(First Out)์ด๋‹ค. ์‹คํ–‰์ทจ์†Œ๋ฅผ ๋ฌด์ž‘์ • ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์–ด์„œ ์ €์žฅ ๊ณต๊ฐ„์„ N๊ฐœ๋กœ ์ œํ•œํ•œ๋‹ค. ์ฆ‰, N+1๋ฒˆ์งธ ์‹คํ–‰์ทจ์†Œ๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ์ œ์ผ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๋„๋ก ํ•œ๋‹ค. ์ฆ‰, ๊ฐ€์žฅ ์˜ค๋žซ์ „์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์—†์• ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐ‘ ๋น ์ง„ ์Šคํƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์Šคํƒ์˜ ๋ฐ‘๊ณผ ์œ„๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํ•œ ์นธ์€ ๋น„์›Œ๋‘”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ €์žฅ ๊ณต๊ฐ„์ด 11์ธ ๊ฒฝ์šฐ(N=11), ๋ฌธ์ž๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ 10๊ฐœ a b c d e f g h i j ์ž…๋ ฅ๋œ ์ƒํƒœ์—์„œ ๋ฌธ์ž k๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด a๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  k๊ฐ€ ์ €์žฅ๋œ๋‹ค. ๋˜.. 2023. 7. 9.
[Queue/Deque] ํ/๋ฑ - BFS ๋ฏธ๋กœ์ฐพ๊ธฐ BFS for Maze N × Mํฌ๊ธฐ์˜ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋˜๋Š” ๋ฏธ๋กœ๊ฐ€ ์žˆ๋‹ค. ๋ฏธ๋กœ์—์„œ 0์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 1์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. S๋Š” ์ถœ๋ฐœ์ ์„ ์˜๋ฏธํ•˜๋ฉฐ T๋Š” ๋„์ฐฉ์ ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ BFS๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ถœ๋ฐœ์ ์—์„œ ๋„์ฐฉ์ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์˜ ์นธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ•œ ์นธ์—์„œ ๋‹ค๋ฅธ ์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ, ์„œ๋กœ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์นธ์˜ ์ˆ˜๋ฅผ ์…€ ๋•Œ๋Š” S์™€ T๋„ ํฌํ•จํ•œ๋‹ค. Input ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M (2 ≤ N, M ≤ 50)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ๋ฌธ์ž๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. Output ์ฒซ์งธ ์ค„์— BFS๋ฅผ ํ†ตํ•ด ์ง€๋‚˜์•ผ ํ•˜๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์˜ ์นธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋„์ฐฉ์ ์— ๋„.. 2023. 7. 9.