๐Algorithm ------------/๊ฐ๋ ์ ๋ฆฌ (2) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Composite Pattern ์กฐ๊ธ ์์ ์ ๊ณต๋ถํ๋ ๋์์ธ ํจํด์ธ๋ฐ, ๋ค์ ๋ณต์ตํ๋ฉด์ ์ ๋ฆฌํด๋ณด์๋ค ๋์์ธ ํจํด๋ ์ฐพ์๋ณด๋ฉฐ ๊ฐ๋ฐํ๋ ์ด์ ์ด๋๊ฐ๋ ๐ฅน Composite ๋ป OOP์์ ์ปดํฌ์งํธ๋ ํ๋ ์ด์์ ์ ์ฌํ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑ์ผ๋ก ์ค๊ณ๋ ๊ฐ์ฒด๋ก ๋ชจ๋ ์ ์ฌํ ๊ธฐ๋ฅ์ ๊ฐ์ง ๊ฐ์ฒด ๊ทธ๋ฃน์ ์กฐ์ํ๋ ๊ฒ ์ฒ๋ผ ๋จ์ผ ๊ฐ์ฒด๋ฅผ ์กฐ์ํ ์ ์์ Composite Pattern ํด๋ผ์ด์ธํธ๊ฐ ๋ณตํฉ ๊ฐ์ฒด/๋จ์ผ ๊ฐ์ฒด๋ฅผ ๋์ผํ๊ฒ ์ทจ๊ธํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํจ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์์ฑ, ์ ์ฒด-๋ถ๋ถ ๊ด๊ณ ํํ ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ๋ค๋ฃฐ ๋, ๊ฐ๋ฐ์๋ ๋ฆฌํ๋ ธ๋์ ๋ธ๋์น ๊ตฌ๋ณํด์ผํจ ๋ณต์กํ๊ฒ ๋ง๋ค์ง ์๊ธฐ → ์ธํฐํ์ด์ค ํ์ฉํด์ ์์ฑํ๋ค๋๊ฐ Client ํด๋์ค๋ Leaf์ Composite ํด๋์ค์ ์ง์ ์ฐธ์กฐ ํ์ง ๋ง์ธ์ฅ ๐ โ๏ธ๐ โ๏ธ ์ธํฐํ์ด์ค์ธ Component๋ง ์ฐธ์กฐํ๊ธฐ Leaf๋ Com.. ์๋ฃ๊ตฌ์กฐ- ์๋ฃ๊ตฌ์กฐ ์ข ๋ฅ๋ฅผ ์์๋ณด์ ์๋ฃ๊ตฌ์กฐ ์ข ๋ฅ๋ ์๋์ ๊ฐ๋ค ํ๋์ฉ ์ดํด๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋๋ก ํ์ ๊ต์๋... ์ ๋ ์ค์ํ๋ค๊ณ ์๋ ค์ฃผ์์ง ์์ผ์ จ๋์ ** ๋๋ฌด์ํค์ ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ ์ธํฐ๋ทฐ๋ฅผ ์ฐธ๊ณ ํ์๋ค ** 1. ๋จ์ ๊ตฌ์กฐ ์ฐ๋ฆฌ๊ฐ ํํ ๋งํ๋ ๋ฐ์ดํฐ ํ์ ๋๋ ์๋ฃํ์ด ์ฌ๊ธฐ์ ํด๋น๋๋ค ๋๋ Python ๊ฐ์ด ์๋ฃํ์ ์ ์ฐํ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ์ ์ ์๋๋๊ฒ ์๋ฃํ์ด์๋ค C๋ C++์ ์๋ฃํ์ ์ํ๋ค ์๋ฃํ์ ์ข ๋ฅ๋ ๋งํฌ๋ฅผ ํตํด ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค ์๋ฃํ ๋ฒ์๋ ํฌ๊ธฐ ๊ฐ์ ์์ธ ๋ถ๋ถ์ ๋ค๋ฅธ ๊ฒ์๋ฌผ๋ก ์ ๋ฆฌํ๊ฒ ๋ค 2. ์ ํ๊ตฌ์กฐ ์ ํ๊ตฌ์กฐ๋ ์์ ๊ทธ๋ฆผ์์ ๋ณธ ๊ฒ์ฒ๋ผ ๋ฆฌ์คํธ, ์คํ, ํ, ๋ฑ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค ๊ทธ๋ฆผ์๋ ์์ง๋ง ๋ฐฐ์ด๋ ํฌํจ๋จ ใ ใ ๋ฆฌ์คํธ๋ ์ ํ ๋ฆฌ์คํธ(Linear List)์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ (Linked List)๊ฐ ์๋ค ์ ํ ๊ตฌ.. ์ด์ 1 ๋ค์