์ ์ฒด ๊ธ
![[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์
๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ด์ ๋ฆฌ ์๋ฃ - โฃ ๋คํธ์ํฌ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfC3jk%2FbtrPDeV2VRk%2FPUnpUkiKGxORX1vEFopeHk%2Fimg.jpg)
[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ด์ ๋ฆฌ ์๋ฃ - โฃ ๋คํธ์ํฌ
๐ง๐ป๐ป ๊ธ์ ์์ํ๊ธฐ์ ์์.. - ์ ์ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ์์ ์์ฃผ ๋์ค๋ ์ง๋ฌธ์ ๋ชจ์ ํ ๋ฒ์ ์ ๋ฆฌํ ํฌ์คํธ์ ๋๋ค. - ์ ์ ๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ ์ ์ค๋นํ๋ ์ฌ๋์ผ๋ก, ์ ํํ์ง ์์ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ๋ ์ฌ๋ฐ๋ฅธ ๋ต์ ์๊ณ ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ๋ฐ์ํ๋๋ก ํ๊ฒ ์ต๋๋ค. - ํ์๋ Java ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์์ง๋์ด๋ฅผ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธ ๋ด๋ถ์ Java ํน์ ๋ฐฑ์๋ ๊ด๋ จ ์ฉ์ด๊ฐ ๋์ฌ ์ ์์ต๋๋ค. Java๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด, ์์ ์ ์ง๋ฌด ์ธ์ด ๋ฐ ํ๋ ์์ํฌ ๊ด์ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. ๐ง๐ป๐ป ๋คํธ์ํฌ ๋ฉด์ ์ง๋ฌธ ๐ก 1. OSI 7 Layer์ ๊ฐ ๊ณ์ธต์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. ๋๋ณด๊ธฐ 7๊ณ์ธต (Application Layer, ์์ฉ๊ณ์ธต) : ์ต์ข ๋ชฉ์ ์ง๋ก ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ์ฐ๊ด..
![[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์
๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ด์ ๋ฆฌ ์๋ฃ - โข ๋ฐ์ดํฐ๋ฒ ์ด์ค](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZKwPB%2FbtrPB1Ij3NZ%2Fe56ikCGPD6u9zRddOgspnK%2Fimg.jpg)
[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ด์ ๋ฆฌ ์๋ฃ - โข ๋ฐ์ดํฐ๋ฒ ์ด์ค
๐ง๐ป๐ป ๊ธ์ ์์ํ๊ธฐ์ ์์.. - ์ ์ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ์์ ์์ฃผ ๋์ค๋ ์ง๋ฌธ์ ๋ชจ์ ํ ๋ฒ์ ์ ๋ฆฌํ ํฌ์คํธ์ ๋๋ค. - ์ ์ ๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ ์ ์ค๋นํ๋ ์ฌ๋์ผ๋ก, ์ ํํ์ง ์์ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ๋ ์ฌ๋ฐ๋ฅธ ๋ต์ ์๊ณ ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ๋ฐ์ํ๋๋ก ํ๊ฒ ์ต๋๋ค. - ํ์๋ Java ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์์ง๋์ด๋ฅผ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธ ๋ด๋ถ์ Java ํน์ ๋ฐฑ์๋ ๊ด๋ จ ์ฉ์ด๊ฐ ๋์ฌ ์ ์์ต๋๋ค. Java๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด, ์์ ์ ์ง๋ฌด ์ธ์ด ๋ฐ ํ๋ ์์ํฌ ๊ด์ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. ๐ง๐ป๐ป ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉด์ ์ง๋ฌธ ๐ก 1. DBMS๊ฐ ๋ฌด์์ธ์ง, DB๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์๊ฒ ์ด์? ๋๋ณด๊ธฐ DBMS(Database Management System)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ..
![[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์
๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ฒดํฌ๋ฆฌ์คํธ - โช ์ฒดํฌ๋ฆฌ์คํธ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkOHjZ%2FbtrOC5SqDrD%2Fbkkzt5uqlu83caDj1XzKA1%2Fimg.png)
[๋ฉด์ ์ด์ ๋ฆฌ] ์ ์ ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๋๋น ์ฒดํฌ๋ฆฌ์คํธ - โช ์ฒดํฌ๋ฆฌ์คํธ
๐ ๋ฉด์ ์ ์ฒดํฌ๋ฆฌ์คํธ ๐ 1. ์๋ฃ๊ตฌ์กฐ Array, ArrayList, LinkedList์ ์ฐจ์ด๋ฅผ ์๊ณ , ์ง๋ฌด ์ธ์ด๋ก ๋ชจ๋ ์์ด ๊ตฌํํ ์ ์๋ค. Stack๊ณผ Queue์ ๋ํด ์๊ณ , ์ฐจ์ด๋ฅผ ์ค๋ช ํ ์ ์๋ค. ์ง๋ฌด ์ธ์ด๋ก ๋ชจ๋ ์์ด ๊ตฌํํ ์ ์๋ค. Tree์ Heap์ ๊ตฌ์กฐ์ ๋ํด ์๊ณ , ์ค๋ช ํ ์ ์๋ค. ์ง๋ฌด ์ธ์ด๋ก ๋ชจ๋ ์์ด ๊ตฌํํ ์ ์๋ค. Tree์ ์ ์, ์ค์, ํ์ ์ํ ์ ์ถ๋ ฅ๋๋ ๋ ธ๋ ์์๋ฅผ ๋งํ ์ ์๋ค. ํธ๋ฆฌ ๊ตฌํ๋ถํฐ ์ํ ๋ฉ์๋๊น์ง ์ง๋ฌด ์ธ์ด๋ก ๋ชจ๋ ์์ด ๊ตฌํํ ์ ์๋ค. ์ฐ์ ์์ ํ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. ํด์ฌ ํ ์ด๋ธ๊ณผ ์๊ฐ ๋ณต์ก๋์ ๋ํด ์ค๋ช ํ ์ ์๋ค. ๋ด๋ถ ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. ์ด์ง ํ์ ํธ๋ฆฌ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. ํน์ ํ ์ํฉ์ด ์ฃผ์ด์ก์ ๋, ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ..
[์๋ฃ๊ตฌ์กฐ] Priority Queue (์ฐ์ ์์ ํ) ์ธํฐ๋ทฐ ๋๋น
๐ก 1. ์ฐ์ ์์ ํ(Priority Queue)๋? ์ฐ์ 'ํ'๋ ์ ์ ์ ์ถ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ํ์ ๋ค์ด์จ ์์๋ฅผ ์ฐ์ ์์๋ก ๊ฐ๋ ํ์ธ ๊ฒ์ด๋ค. ์ฐ์ ์์ ํ๋ ์ผ๋ฐ์ ์ผ๋ก ๋จผ์ ๋ค์ด์จ ์์๋๋ก ๋น ์ ธ๋์ค๋ ๊ฒ์ด ์๋๋ผ, ํ ๋ด๋ถ์ ์์ ์ค ๊ฐ์ฅ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ์์๋ถํฐ ๋น ์ ธ ๋์ค๋ ํ๋ฅผ ์๋ฏธํ๋ค. ๐ก 2. ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ธ ๊ฐ์ง์ด๋ค. ๊ฐ๊ฐ ๋ฐฐ์ด(Array), ์ฐ๊ฒฐ๋ฆฌ์คํธ(LinkedList), ํ(Heap)์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ธ๋ฐ ๊ทธ ์ค ์ผ๋ฐ์ ์ผ๋ก ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ Heap์ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ ๋ Heap์ ์ฌ์ฉํ๋ ์ง๋ ๋ฐ๋ก ์๊ฐ๋ณต์ก๋์ ์๋ค. ๋ค์์ ๊ฐ๊ฐ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด๋ค..
![[์๋ฃ๊ตฌ์กฐ] Stack๊ณผ Queue์ ๋น๊ต (์ธํฐ๋ทฐ ๋๋น)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZDX5D%2FbtrPivwIbez%2F9uWRKPPh52cRmouwWNDfI1%2Fimg.png)
[์๋ฃ๊ตฌ์กฐ] Stack๊ณผ Queue์ ๋น๊ต (์ธํฐ๋ทฐ ๋๋น)
๐ก 1. Stack(์คํ)์ด๋? 1. ์คํ : Stack์ ๋จผ์ ๋ค์ด๊ฐ ์์๊ฐ ๊ฐ์ฅ ๋์ค์ ๋์ค๊ฒ ๋๋ ์ ์ ํ์ถ(LIFO, Last In First Out)์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. 2. ๊ตฌํ : Stack์ ๊ตฌํํ ๋๋, ์์๋ฅผ ์ ๊ฑฐํด์ผ ํ๋ ArrayList๋ณด๋ค๋ index๋ฅผ ์กฐ์ ํ๊ณ , ์ด๊ธฐํ ํ๋ ๋ฐฉ์๊ณผ ํจ๊ป Array๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค. 3. ์ฃผ์ ์ฐ์ฐ : 1. push(์ฝ์ ) : Stack์ ์๋ก์ด item์ ์ถ๊ฐํ๋ค. 2. pop(์ญ์ ) : ๊ฐ์ฅ ์์ ์๋ ์์๋ฅผ returnํ๊ณ , Stack์์ ํด๋น ์์๋ฅผ ์ ๊ฑฐํ๋ค. 3. peek(์ต์๋จ ์์ดํ ๋ฐํ) : ๊ฐ์ฅ ์์ ์๋ ์์๋ฅผ return ํ๋ค. pop๊ณผ๋ ๋ค๋ฅด๊ฒ ์คํ์์ ํด๋น ์์๋ฅผ ์ ๊ฑฐํ์ง ์๋๋ค. + top : ๊ฐ์ฅ ์..
[์๋ฃ๊ตฌ์กฐ] Array์ LinkedList์ ์ฐจ์ด (์ธํฐ๋ทฐ ๋๋น)
๐ก 1. Array(๋ฐฐ์ด), Array VS ArrayList 1. ๋ฐฐ์ด : ๋ฐฐ์ด์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. 2.ํฌ๊ธฐ : ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ๊ณ ์ ๊ธธ์ด์ด๋ฏ๋ก, ์ถ๊ฐ์ ์ผ๋ก ๋๋ฆด ์ ์๋ค. Array๋ ์ด๊ธฐํ ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋๊ฒ ๋๋ค. 3. ์ฅ์ : ๋ฐ์ดํฐ์ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์, 0๋ถํฐ ์์ํ๋ index๊ฐ ์กด์ฌํ๋ฉฐ, ์ด index๋ฅผ ํ์ฉํด ํน์ ์์์ ๋ํด ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ฉฐ ์กฐ์์ด ๊ฐ๋ฅํ ๊ฒ์ด ์ฅ์ ์ด๋ค. 4. ๋จ์ : ๋ฐ์ดํฐ์ ์ฝ์ ์ด๋ ์ญ์ ๊ฐ ์ค๊ฐ์์ ์ด๋ค์ง๋ ๊ฒฝ์ฐ, ๊ทธ ๋ค์ ๋ชจ๋ ์์๋ฅผ ํ ์นธ ์ ๋น๊ธฐ๊ฑฐ๋, ๋ฐ์ด์ค์ผ ํ๋ ์์๊ฐ ์์ผ๋ฏ๋ก ์๋์ ๋น์ฉ์ด ์๊ตฌ๋๋ค. O(N) 5. ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒฝ์ฐ : ์์๋ฅผ ๋ณด์ฅํด์ค์ผ ํ๋ ๋ฐ์ดํฐ์ ๋ํด ์ฌ์ฉํ๋ฉด ์ข๋ค. index๊ฐ ์๋ฏธ๋ฅผ ๋ดํฌํ ์ ์๋ ๋ฐ์ดํฐ..
![[ํ๋ก๊ทธ๋๋จธ์ค] ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (level2, python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGHYhy%2FbtrOBpShyfd%2F51fRR4GWMQD1xsRpoH7wr1%2Fimg.png)
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (level2, python)
๐ ๋ฌธ์ ์ค๋ช ์ฒ ํธ๋ ์์ด์ ๊ฐ์ง๊ณ ๋๊ธฐ ์ข์ํฉ๋๋ค. ์ด๋ ๋ ์ฒ ํธ๋ ์ด๋ค ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์ํ ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์๊ฐ ๋ชจ๋ ๋ช ๊ฐ์ง์ธ์ง ์์๋ณด๊ณ ์ถ์ด์ก์ต๋๋ค. ์ํ ์์ด์ด๋ ์ผ๋ฐ์ ์ธ ์์ด์์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋ ํํ์ ์์ด์ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ด [7, 9, 1, 1, 4] ๋ก ์ํ ์์ด์ ๋ง๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ํ ์์ด์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋์ด ๋๊ธฐ๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด๋ ์ผ๋ฐ์ ์ธ ์์ด๋ณด๋ค ๋ง์์ง๋๋ค. ์ํ ์์ด์ ๋ชจ๋ ์์ elements๊ฐ ์์๋๋ก ์ฃผ์ด์ง ๋, ์ํ ์์ด์ ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ 3 ≤ elements์ ๊ธธ์ด ≤ 1,000 1 ≤..
![[ํ๋ก๊ทธ๋๋จธ์ค] ๋๋์ง (level4, python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQPpqx%2FbtrOB1baKNv%2FqoFpjor9HN6zJ1P9WsoxoK%2Fimg.png)
[ํ๋ก๊ทธ๋๋จธ์ค] ๋๋์ง (level4, python)
๐ ๋ฌธ์ ์ค๋ช ๋๋์ด ์ด๋ ๋ง์์ ํธ ๊ณํ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ง์์ ๋ชจ๋ ์ง๋ค์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋๊ทธ๋๊ฒ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ๊ฐ ์ง๋ค์ ์๋ก ์ธ์ ํ ์ง๋ค๊ณผ ๋ฐฉ๋ฒ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ธ์ ํ ๋ ์ง์ ํธ๋ฉด ๊ฒฝ๋ณด๊ฐ ์ธ๋ฆฝ๋๋ค. ๊ฐ ์ง์ ์๋ ๋์ด ๋ด๊ธด ๋ฐฐ์ด money๊ฐ ์ฃผ์ด์ง ๋, ๋๋์ด ํ์น ์ ์๋ ๋์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ ์ด ๋ง์์ ์๋ ์ง์ 3๊ฐ ์ด์ 1,000,000๊ฐ ์ดํ์ ๋๋ค. money ๋ฐฐ์ด์ ๊ฐ ์์๋ 0 ์ด์ 1,000 ์ดํ์ธ ์ ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ [1, 2, 3, 1] 4 ๐ ํ์ด ์ฝ๋ def solution(money): answer = 0 if len(money) == 1: return money.pop() size = ..