์๊ณ ๋ฆฌ์ฆ/์๋ฃ๊ตฌ์กฐ
-
ํ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์์ ํ๋ ์ธ์ธํ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด์ ์ ๋ช ๊ฐ์์ ์ธ์ธํ๊ฐ ์ด๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์ ๋๋ ๊ฐ์์ ์ธ์ธํ์ ๋น์ฒจ์ด ๋์๊ณ ํ์ฅ์์ 3๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค. ๋ค๋ฅธ ํฌ๋ค์ 1~20๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค๊ณ ๊ฐ์ ํ์์ ๋, ์งํ์๊ฐ 1๋ฒ๋ถํฐ ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ 2~20๋ฒ์ ์ฌ๋๋ค์๊ฒ ์ฐจ๋ก๋ก ์ค์ ์๋ผ๊ณ ํ ๊ฒ์ด๊ณ ๊ทธ ๋ค์ ์ฐจ๋ก๋ 2๋ฒ๋ถํฐ ์์๋๋ก ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค์ ์ดํํ ๊ฒ์ด๋ค. ์ด๊ฒ ๋ฐ๋ก ํ์ ๊ฐ๋ ์ด๋ค! FIFO(First In First Out) ์ ์ ์ ์ถ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ ๋จผ์ ๋น ์ ธ๋์จ๋ค. ์ฆ 2๋ฒ์ด ๋งจ ์์ ์๋๋ฐ 3๋ฒ์ด ๋จผ์ ๋น ์ ธ๋๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ๊ฐ ์ฐ์ด๋ ๊ตฌ์กฐ๋ ์ด๋์ ์์ ๊น? ๋ฏธ๋ฃจ์ด ์ง์ํด๋ณด๊ฑด๋ฐ ๋ช ์ ๋ ๋ด..
3. ํํ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์์ ํ๋ ์ธ์ธํ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด์ ์ ๋ช ๊ฐ์์ ์ธ์ธํ๊ฐ ์ด๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์ ๋๋ ๊ฐ์์ ์ธ์ธํ์ ๋น์ฒจ์ด ๋์๊ณ ํ์ฅ์์ 3๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค. ๋ค๋ฅธ ํฌ๋ค์ 1~20๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค๊ณ ๊ฐ์ ํ์์ ๋, ์งํ์๊ฐ 1๋ฒ๋ถํฐ ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ 2~20๋ฒ์ ์ฌ๋๋ค์๊ฒ ์ฐจ๋ก๋ก ์ค์ ์๋ผ๊ณ ํ ๊ฒ์ด๊ณ ๊ทธ ๋ค์ ์ฐจ๋ก๋ 2๋ฒ๋ถํฐ ์์๋๋ก ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค์ ์ดํํ ๊ฒ์ด๋ค. ์ด๊ฒ ๋ฐ๋ก ํ์ ๊ฐ๋ ์ด๋ค! FIFO(First In First Out) ์ ์ ์ ์ถ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ ๋จผ์ ๋น ์ ธ๋์จ๋ค. ์ฆ 2๋ฒ์ด ๋งจ ์์ ์๋๋ฐ 3๋ฒ์ด ๋จผ์ ๋น ์ ธ๋๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ๊ฐ ์ฐ์ด๋ ๊ตฌ์กฐ๋ ์ด๋์ ์์ ๊น? ๋ฏธ๋ฃจ์ด ์ง์ํด๋ณด๊ฑด๋ฐ ๋ช ์ ๋ ๋ด..
2023.09.12 -
์คํ์ ๊ต์ฅํ ๋ง์ด ์ฐ์ด๋ ๊ฐ๋ ์ด๋ค. ’๊ฐ์ฅ ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์ค๋(FILO, First In Last Out) ๊ตฌ์กฐ‘ ์ด๋ค. ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ ๋๋ค ๊ตฌํ ๊ฐ๋ฅํ๋ฐ ์ด์ ํฌ์คํ ์์ ์ธ๊ธํ๋ฏ์ด ํ์์ ๋น ๋ฅธ ๋ฐฐ์ด, ์ฉ๋์ ์ ํ์ด ์์ ๋ก์ด ๋งํฌ๋ ๋ฆฌ์คํธ ์ด๊ธฐ์ ๋ฐ์ดํฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ผ ๋ฏํ๋ค. ์คํ์ ๋ง๊ทธ๋๋ก ์๋ค ์ธ๋ฐ, ๊ฐ์ฅ ์๋ฟ๋ ๊ฒ์ ํ๋ง๊ธ์ค ํต์ด ์๋๊น ์ถ๋ค..! ๋ฌผ๋ก ํ๋ง๊ธ์ค๋ฅผ ๋ค์ง์ผ๋ฉด ์ฐ๋ฅด๋ฅด ์์์ ธ๋์จ๋ค๋ง์.. ํ๋ง๊ธ์ค๋ ์์์๋ถํฐ ๊บผ๋ด์ ์ ์ผ ๋ฐ์๊น์ง ๋จน์ ์ ์๋ ๊ณผ์์ด๋ค. ๋ฐ๋๋ก ํ๋ง๊ธ์ค ํต์ ๊ณผ์๋ฅผ ๋ค์ ๋ฃ๋๋ค๋ฉด ๋งจ ๋ง์ง๋ง์ ๋ฃ์ ๊ณผ์๋ถํฐ ๊บผ๋ผ ์ ์์ ๊ฒ์ด๋ค. ์คํ์ ์ฌ์ฉํ์ฌ์ ์ด๋ค ๊ฒ์ ๋ง๋ค๋ฉด ์ ์ฉํ ๊น ํ๊ณ ์๊ฐํ์ฌ๋ณด์๋๋ฐ ์๋ฌด๋๋ Undo, Redo ์๋..
2. ์คํ์คํ์ ๊ต์ฅํ ๋ง์ด ์ฐ์ด๋ ๊ฐ๋ ์ด๋ค. ’๊ฐ์ฅ ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์ค๋(FILO, First In Last Out) ๊ตฌ์กฐ‘ ์ด๋ค. ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ ๋๋ค ๊ตฌํ ๊ฐ๋ฅํ๋ฐ ์ด์ ํฌ์คํ ์์ ์ธ๊ธํ๋ฏ์ด ํ์์ ๋น ๋ฅธ ๋ฐฐ์ด, ์ฉ๋์ ์ ํ์ด ์์ ๋ก์ด ๋งํฌ๋ ๋ฆฌ์คํธ ์ด๊ธฐ์ ๋ฐ์ดํฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ผ ๋ฏํ๋ค. ์คํ์ ๋ง๊ทธ๋๋ก ์๋ค ์ธ๋ฐ, ๊ฐ์ฅ ์๋ฟ๋ ๊ฒ์ ํ๋ง๊ธ์ค ํต์ด ์๋๊น ์ถ๋ค..! ๋ฌผ๋ก ํ๋ง๊ธ์ค๋ฅผ ๋ค์ง์ผ๋ฉด ์ฐ๋ฅด๋ฅด ์์์ ธ๋์จ๋ค๋ง์.. ํ๋ง๊ธ์ค๋ ์์์๋ถํฐ ๊บผ๋ด์ ์ ์ผ ๋ฐ์๊น์ง ๋จน์ ์ ์๋ ๊ณผ์์ด๋ค. ๋ฐ๋๋ก ํ๋ง๊ธ์ค ํต์ ๊ณผ์๋ฅผ ๋ค์ ๋ฃ๋๋ค๋ฉด ๋งจ ๋ง์ง๋ง์ ๋ฃ์ ๊ณผ์๋ถํฐ ๊บผ๋ผ ์ ์์ ๊ฒ์ด๋ค. ์คํ์ ์ฌ์ฉํ์ฌ์ ์ด๋ค ๊ฒ์ ๋ง๋ค๋ฉด ์ ์ฉํ ๊น ํ๊ณ ์๊ฐํ์ฌ๋ณด์๋๋ฐ ์๋ฌด๋๋ Undo, Redo ์๋..
2023.09.07 -
ํ๋ก๊ทธ๋จ์ ์ง๋ค๋ณด๋ฉด ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๊ฐ ๋ง์์ง๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ์ด ๋ชจ์๋ผ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๊ธธ ์ ์๋๋ฐ, C++์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ STL์ vector๋ฅผ ๋ณดํต ๋ ์ฌ๋ฆฐ๋ค. ๋์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌ๊ณ ํ์ง๋ง STL์ vector ๊ฒฝ์ฐ ํฌ๊ธฐ์ ์๊ด์์ด ์์ ์์ฌ๋ก ๋์ด๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ฐฐ์ด ํํ์์ ๋ฐฐ์ด์ด ๊ฐ๋ ์ฐฐ ๋๋ง๋ค ํฌ๊ธฐ๋ฅผ 1.5๋ฐฐ ~ 2๋ฐฐ (์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋๋ฆฐ ํ ๋ค์ ์ฎ๊ฒจ๋ด๋ ํ์์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋์ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ๋ C์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๋ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ง๋ ๊ฐ๋ ์ด๋ค. ํ์ง๋ง ์ฌ๋ฌ๊ฐ์ง ์ฅ๋จ์ ์ด ์๊ธฐ์ ์๊ฐํ๋ ค๊ณ ํ๋ค. ๐น01. ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ฐํ๊ฒ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ '๋ฆฌ์คํธ(list)'๋ผ๊ณ ํ๋๋ฐ, ๋ง..
1. ๋ฆฌ์คํธํ๋ก๊ทธ๋จ์ ์ง๋ค๋ณด๋ฉด ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๊ฐ ๋ง์์ง๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ์ด ๋ชจ์๋ผ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๊ธธ ์ ์๋๋ฐ, C++์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ STL์ vector๋ฅผ ๋ณดํต ๋ ์ฌ๋ฆฐ๋ค. ๋์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌ๊ณ ํ์ง๋ง STL์ vector ๊ฒฝ์ฐ ํฌ๊ธฐ์ ์๊ด์์ด ์์ ์์ฌ๋ก ๋์ด๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ฐฐ์ด ํํ์์ ๋ฐฐ์ด์ด ๊ฐ๋ ์ฐฐ ๋๋ง๋ค ํฌ๊ธฐ๋ฅผ 1.5๋ฐฐ ~ 2๋ฐฐ (์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋๋ฆฐ ํ ๋ค์ ์ฎ๊ฒจ๋ด๋ ํ์์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋์ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ๋ C์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๋ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ง๋ ๊ฐ๋ ์ด๋ค. ํ์ง๋ง ์ฌ๋ฌ๊ฐ์ง ์ฅ๋จ์ ์ด ์๊ธฐ์ ์๊ฐํ๋ ค๊ณ ํ๋ค. ๐น01. ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ฐํ๊ฒ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ '๋ฆฌ์คํธ(list)'๋ผ๊ณ ํ๋๋ฐ, ๋ง..
2023.09.05