์์๋ค์ํผ ํ๋ก๊ทธ๋๋ฐ์ ์ง์์ ๋ง์ด ์๊ตฌํ๋ ์ง์
์
๋๋ค. ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ ์ผ๋ก ๋ง์คํฐํ๋ ค๋ฉด ๋ง์ ์๊ฐ๊ณผ ์ค์ ๊ฒฝํ์ด ํ์ํ๋ค๋ ์ฌ์ค ์ธ์๋ ์ถฉ๋ถํ์ง ์์ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ๋ฌธ ์ํํธ์จ์ด ์์ง๋์ด๋ก์ ์ฑ๊ณตํ๋ ค๋ฉด ์ํํธ์จ์ด ๊ฐ๋ฐ ์์
์ ์ฌ๋ฌ ๋ค๋ฅธ ์์ญ๊ณผ ๊ตฌ์ฑ ์์๋ฅผ ์์์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. CodeGym์์ ์ฐ๋ฆฌ์ ๋ชฉํ๋ ํ์๋ค์ ๊ณ ์ฉํ ์ค๋น๊ฐ ๋ ์ง์ ํ ๊ธฐ๋ฅ์ Java ๊ฐ๋ฐ์๊ฐ ๋๋๋ก ๊ต์กํ๋ ๊ฒ์ด์ง๋ง, CG๋งํผ ํ๋ฅญํ๊ณ ์ ๊ตฌ์ฑ๋ ํ๋์ ๊ณผ์ ์ ๊ฐ๋ฐ์๋ก์ ํ์ํ ๋ชจ๋ ์ง์์ ์ ๊ณตํ ์ ์์ต๋๋ค. ํ๋ก ์ํํธ์จ์ด ๊ฐ๋ฐ์. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ CodeGym ๊ณผ์ ์ ์ผ๋ถ๊ฐ ์๋ ์ถ๊ฐ ํ๋ก๊ทธ๋๋ฐ ๊ด๋ จ ์ฃผ์ ์ ๋ํ ์ฌ๋ฌ ๋ถ๋ถ์ ๋ฐฐ์ธ ์ ์๋ ๋งํฌ ๋ฐ ๊ถ์ฅ ์ฌํญ๊ณผ ํจ๊ป ์์ฑํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ค๋ ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์
๋๋ค.
Java์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ ์์ฒด๊ฐ ๋ณต์กํ์ง๋ง ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ช
ํํ๊ณ ๊ฐ๋จํ ์์ ํ๋ก๊ทธ๋จ ์ธ์๋ ์ ์๋ ์น ๋ธ๋ผ์ฐ์ ์์ ์คํ ๊ฐ๋ฅํ ์์ ๋ฐ๋ชจ ํ๋ก๊ทธ๋จ์ผ๋ก ์ํฌ์ต์ ํฌํจํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ชจ์๊ณผ ์๋ ๋ฐฉ์์ ๊ทธ๋ํฝ ํ์์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
๋งค์ฐ ์ค๋๋์์ง๋ง(1983๋
์ ์ฒ์ ์ถํ๋จ) ์ฌ์ ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์
๋ฌธ ๊ต๊ณผ์ ์ค ํ๋์
๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์์ ์ ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ฒ๋ฆฌ๋ "์ถ์ ๋ฐ์ดํฐ ์ ํ"์ด๋ผ๋ ๋น๊ณต์์ ๊ฐ๋
์ผ๋ก ํตํฉ๋์ด ๋
์๊ฐ ๋์ผํ ๊ฐ๋
์ ๋ค๋ฅธ ๊ตฌํ์ ๋น๊ตํ ์ ์๋๋ก ํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ธฐ์ ๋ ๊ฐ์กฐ๋๋ฉฐ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ ๋ถ์๋ ๋ค๋ฃน๋๋ค. ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ ํ์ค์นผ๋ก ์์ฑ๋์์ต๋๋ค.
๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ด๋ณด์๋ฅผ ์ํ ๋ ๋ค๋ฅธ ์ข์ ๊ต๊ณผ์์
๋๋ค. 'Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles'๋ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์๋ฃจ์
์ ์ ๊ณตํ๋ ์ฑ
์
๋๋ค. ๊ฐ ๋ฌธ์ ์ ๋ํ ์ฌ๋ฌ ์๋ฃจ์
์ด ์์ผ๋ฉฐ ์ฑ
์ C/C++๋ก ์ฝ๋ฉ๋์ด ์์ต๋๋ค. ์ด ์ฑ
์ ๋ฉด์ , ์ํ ๋ฐ ์บ ํผ์ค ์์
์ ์ค๋นํ๋ ๋ฐ ์ง์นจ์ด ๋ ์ ์์ต๋๋ค.
Advanced Data Structures๋ ์์ฉ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ฌธ ์ฃผ์ ๋ก์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์์ด๋์ด, ๋ถ์ ๋ฐ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ๋ํ ํฌ๊ด์ ์ธ ๊ด์ ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ
์คํธ๋ ๊ฒ์ ํธ๋ฆฌ, ๊ฐ๊ฒฉ ์ธํธ ๊ตฌ์กฐ ๋๋ ์กฐ๊ฐ๋ณ ์์ ํจ์ ๊ตฌ์กฐ, ์ง๊ต ๋ฒ์ ๊ฒ์ ๊ตฌ์กฐ, ํ, ํฉ์งํฉ ์ฐพ๊ธฐ ๊ตฌ์กฐ์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ซ์, ๊ฐ๊ฒฉ ๋๋ ๋ฌธ์์ด ์ธํธ๋ฅผ ๊ฒ์ํ๊ณ ์
๋ฐ์ดํธํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๊ฒํ ํฉ๋๋ค. , ๊ตฌ์กฐ์ ๋์ ํ ๋ฐ ์ง์์ฑ, ๋ฌธ์์ด ๊ตฌ์กฐ ๋ฐ ํด์ ํ
์ด๋ธ.
Programming with Mosh๋ ํ๋ก๊ทธ๋๋ฐ ์ด๋ณด์๋ฅผ ์ํ ์ธ๊ธฐ ์๋ ์ฃผ๋ฅ YouTube ์ฑ๋์
๋๋ค. Java ๋ฐ ๊ธฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ๋ง์ ์์ต์๊ฐ ์์ผ๋ฉฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์์ต์๋ฅผ ํฌํจํ์ฌ ์ ๊ตฌ์ฑ๋๊ณ ์ ์ ์๋์ด ์์ต๋๋ค. ์ฑ
์ ์ฝ๊ณ ์์
๋ฃ๋ฅผ ์ง๋ถํ๊ณ ์ถ์ง ์๋ค๋ฉด ์ด๋ฌํ ์ฃผ์ ์ ์ต์ํด์ง ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
Google ์์ง๋์ด William Fiset์ด ์ ๊ณตํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ดํ ์ต๊ณ ์ ๋ฌด๋ฃ ๋์์ ๊ณผ์ ์ค ํ๋์
๋๋ค. ์ด ๊ณผ์ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ๊ธฐ ์ํด ๊ณ ํ์ง ์ ๋๋ฉ์ด์
์ ์ฌ์ฉํ์ฌ ์ด๋ณด์์๊ฒ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฅด์นฉ๋๋ค. ๋ฐ๋ผํ๊ธฐ ์ฌ์ด ๋จ๊ณ๋ณ ์ง์นจ๊ณผ ํจ๊ป ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. ์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์๋ Java์์ ์๋ํ๋ ์ผ๋ถ ์์ค ์ฝ๋๊ฐ ์๋ฐ๋ฉ๋๋ค.
CodeGym
/Java Blog
/๋ฌด์์์
/์ฝ๋ฉ์ค๋ ฅ ๋ ๋ฒจ์
. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ๋ฐฐ์ธ ์ ์๋ ๊ณณ
GO TO FULL VERSION