deque4 [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. [Queue/Deque] ํ/๋ฑ - ์ ๋ ฌ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ ํ๋ก๊ทธ๋จ ์ ๋ ฌ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ ํ๋ก๊ทธ๋จ ์ ๋ ฅํ์ ์ ์ฅ๋์ด ์๋ ์ ์ํ ์ซ์๋ค์ ์คํ์ ์ด์ฉํ์ฌ ๋ค๋ฅธ ์ถ๋ ฅํ์ ์ ๋ ฌํ ์ ์๋๊ฐ๋ฅผ ํ์ธํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ ํ๋ค. ์ด๋ ํ์ ์คํ์ ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ฌ๊ธฐ์์ ํ์ฉ๋๋ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ ๋ ฅํ: dequeue ์ถ๋ ฅํ: enqueue ์คํ: push and pop ์๋ฅผ ๋ค์ด, ์ ๋ ฅํ์ ์์ 1 2 3 4 5๊ฐ ์ ์ฅ๋์ด ์๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์คํ์ ๋ชจ๋ ์์๋ค ์ฐจ๋ก๋๋ก ์ง์ด๋ฃ๊ณ , ํ๋์ฉ ๊บผ๋ด์ด ์ถ๋ ฅํ์ ์ ๋ ฅํ๋ฉด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ์ ์๋ค. ์ ๋ ฅํ์์ ๋์จ ์ซ์๋ ๋ฐ๋ก ์ถ๋ ฅํ๋ก ๊ฐ๋ ๋๊ณ ์คํ์ ๊ฑฐ์ณค๋ค๊ฐ ์ถ๋ ฅํ๋ก ๊ฐ๋ ๋๋ค. ํ์ฉ๋๋ ์ฐ์ฐ๋ง์ ์ฌ์ฉํ์๋ ์ต์ข ์ ์ผ๋ก ์ถ๋ ฅํ์ ์ ๋ ฌ๋ ์ซ์๋ฅผ ๋ฐฐ์น ํ ์ ์๋์ง ์๋์ง๋ฅผ ํ๋จํ๋ค. Input .. 2023. 7. 9. [Queue/Deque] ํ/๋ฑ - ๋ฏธํ ์ฃผ์ ํ๋ก๊ทธ๋จ ๋ฏธํ ์ฃผ์ ํ๋ก๊ทธ๋จ ๊ฐ๋จํ ๋ฏธํ ์ฃผ์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ ํ๋ค. ๋ฑ (deque)์ ์ด์ฉํ์ฌ ๋จ์ฑ ํ์ ์ฌ์ฑ ํ๋ฅผ ๊ตฌํํ๋ค (์ฌ๊ธฐ์ ๋ฑ์ ๋ฐฐ์ด์ ์ด์ฉํด์ ๊ตฌํํด์ผํ๋ค). ๋งค ์๊ฐ ํ๋ช ์ ๊ณ ๊ฐ์ด ๋ฏธํ ์ฃผ์ ์ ์์ฒญํ๊ธฐ ์ํด ๋ฐฉ๋ฌธํ๋ฉด ์ฑ๋ณ์ ๋ง์ถ์ด ํ์ ๋งจ ๋ค์ ์ฝ์ ํ๋ค. ๋ง์ฝ์ ํด๋น ๊ณ ๊ฐ์ด ๋์ ๋ ๋ด์๋ผ๋ ์์๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฆ์ ๋ฏธํ ์ด ์ฃผ์ ๋๊ธธ ์ํ๋ฉด ํ์ ๋งจ ์ฒ์์ ์ฝ์ ํ๋ค. ๋งค ์๊ฐ ๊ณ ๊ฐ์ด ๋๊ธฐ์ด์ ์ ์ฅํ๊ณ ๋๋ฉด, ๋จ์ฑ ํ์ ์ฌ์ฑ ํ์์ ๋งจ ์์ ์๋ ๋จ์ฑ๊ณผ ์ฌ์ฑ์ ๋ฏธํ ์ด ๋งค์นญ๋๋ค. ๋ง์ฝ ๋งค์นญํ ๋จ์ฑ ๋๋ ์ฌ์ฑ์ด ์๋ ๊ฒฝ์ฐ ๋ค์ ์๊ฐ์ผ๋ก ๋์ด๊ฐ๋ค. Input ์ ๋ ฅ์ ์ฒซ ์ค์๋ ๋ฏธํ ์ฃผ์ ์์ ์ ์ฅํ๊ณ ์ ํ๋ ์ด ์ธ์์ ์ n (1 n; // string s; int id; string name; ch.. 2023. 7. 9. ์ด์ 1 ๋ค์