์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก - ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก - ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ์๋ ๊ฐ๋ฐ ์ง์นจ, ์ฒ ํ์ ๊ฐ๊น๋ค. ๋ณํ๋ฅผ ์์ฉํ๊ณ ํ์ ๊ณผ ์ ํ์ ๋น ๋ฅธ ์ธ๋๋ฅผ ๊ฐ์กฐํ๋ ๋ฐ๋ณต์ ๊ฐ๋ฐ ๋ฐฉ๋ฒ ๋ฌธ์ํ๋ณด๋ค ์ฝ๋, ํ๋ก๊ทธ๋จ, ์ํํธ์จ์ด ์์ฒด๋ฅผ ์ค์์ ํจ ์๊ตฌ์ฌํญ์ ๋ณํ๋ ๋ถ๊ฐํผํ๋ฉฐ ์ด์ ๋์ํ๋ ๊ฒ์ด ํ์ค์ ์ด๋ค. ๊ธฐ์กด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ ์ค๊ณ ๊ธฐ๊ฐ์ด ๊ธธ๋ฉฐ ์ฌ์์ ์ ์ค๋ฒํค๋๊ฐ ํฌ๋ค. ํ๊ฒฝ์ ๋น ๋ฅธ ๋ณํ์ ๋์ํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ ์์ผ ์ ์ธ๋ฌธ(Agile Manifesto) ๐ ๊ณต์ ๊ณผ ๋๊ตฌ๋ณด๋ค ๊ฐ์ธ๊ณผ ์ํธ์์ฉ์ ํฌ๊ด์ ์ธ ๋ฌธ์๋ณด๋ค ์๋ํ๋ ์ํํธ์จ์ด๋ฅผ ๊ณ์ฝ ํ์๋ณด๋ค ๊ณ ๊ฐ๊ณผ์ ํ๋ ฅ์ ๊ณํ์ ๋ฐ๋ฅด๊ธฐ๋ณด๋ค ๋ณํ์ ๋์ํ๊ธฐ๋ฅผ ์๊ตฌ์ฌํญ์ด ๋ฐ๋๊ธฐ ์ฌ์ด ์ค์ํ์ ๋น์ฆ๋์ค ์์คํ ์ด๋ ์ ์ ์๊ฑฐ๋ ์์ฉ์ ์ ํฉํ๋ค... 2020. 4. 18. ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค - ๋์ ํ ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค - ๋์ ํ ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ ์ค ๋์ ํ ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ์ ๊ฐ๊ฐ ๋ฐ๋ณต ์งํํ ๋ชจ๋ธ๊ณผ ํญํฌ์ ๋ชจ๋ธ์ ํ์ฅ๋ ํํ์ด๋ค. 1. ๋์ ํ ๋ชจ๋ธ(Spiral Model) ๋ฐ๋ณต ์งํํ ๋ชจ๋ธ๐์ ํ์ฅ ํํ ์ํ ์ต์ํ - ์ ์ฒด ์๋ช ์ฃผ๊ธฐ์ ์ํ ๋ถ์๊ณผ ํ๋กํ ํ์ดํ์ ์ฌ์ฉ ๊ฐ ๋จ๊ณ ๋ณ๋ก โ ๋ชฉํ์ ๋์์ ๊ฒฐ์ , โก๋์์ ํ๊ฐ(์ํ ์์ ๋ถ์), โข๊ฐ๋ฐ๊ณผ ํ์ธ, โฃ๋ค์ ๋จ๊ณ ๊ณํ์ 4๊ฐ์ง ๋จ๊ณ๋ฅผ ์ํํจ ๋์ ํ ๋ชจ๋ธ์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ ํ๋ก์ธ์ค์ ํ๋ ์์ํฌ๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ์ฅ ํฐ ํน์ง - ์ํ ๊ด๋ฆฌ์ ๋น์ฉ์ ํฌ์ ์คํ์ ์ด๊ณ ๋ณต์กํ ๋ํ ํ๋ก์ ํธ์ ์ ํฉ ์ฅ์ ๋ํ ํ๋ก์ ํธ์์ ์ํ ๊ด๋ฆฌ๋ฅผ ํตํด ์ฑ๊ณต ๊ฐ๋ฅ์ฑ์ ํฅ์ ํ๋ก์ ํธ ํน์ฑ, ๊ฐ๋ฐ ์กฐ์ง์ ๋ง๊ฒ ๋ณํ ๊ฐ๋ฅ ๋จ์ ์ฌ๋ก๊ฐ .. 2020. 4. 18. ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค - ๋ฐ๋ณต์ ๋ชจ๋ธ์ ์ข ๋ฅ์ ์ฐจ์ด์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค - ๋ฐ๋ณต์ ๋ชจ๋ธ์ ์ข ๋ฅ์ ์ฐจ์ด์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ ์ค ๋ฐ๋ณต์ ๋ชจ๋ธ์ ์ฆ๋ถํ(Incremental) ๋ชจ๋ธ๊ณผ ์งํํ(Evolutional) ๋ชจ๋ธ ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค. 1. ๋ฐ๋ณต์ ๋ชจ๋ธ - ์งํํ ๋ชจ๋ธ(Iterative Evolutional Model) ๋ถ์์ ํ(๋ฏธ์์ฑ๋) ์๊ตฌ์ฌํญ์ผ๋ก๋ถํฐ ๋ช ์ธ(์ค๊ณ) โก๏ธ ๊ฐ๋ฐ โก๏ธ ๊ฒ์ฆ ๊ณผ์ ์ ๊ฑฐ์ณ ์ด๊ธฐ๋ฒ์ ๊ฐ๋ฐ ๋ช ์ธ(์ค๊ณ) โก๏ธ ๊ฐ๋ฐ โก๏ธ ๊ฒ์ฆ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์ค๊ฐ ๋ฒ์ , ์ต์ข ๋ฒ์ ๊ฐ๋ฐ ํ๋กํ ํ์ดํ์ ํตํด ์๊ตฌ์ฌํญ์ ๋ณด์ํ๋ฉฐ ์ ์ฐจ์ ์ผ๋ก ๋ช ํํ ์๊ตฌ์ฌํญ ๋์ถ ๋ฐ๋ณต ์งํํ ๋ชจ๋ธ์ ํ์ฅ ํํ๋ก ๋์ ํ ๋ชจ๋ธ(spiral model)๐์ด ์๋ค. ์ฅ์ ์๊ตฌ์ฌํญ์ด ์์ฑ๋์ง ๋ชปํ ๊ฒฝ์ฐ์๋ ์ด๊ธฐ ๋ฒ์ ๊ฐ๋ฐ ๊ฐ๋ฅ ๋จ์ ๊ฐ๋ฐ ๋น์ฉ ์์ ์ด๋ ค์ ๋ฐ.. 2020. 4. 18. ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ - ํญํฌ์ ๋ชจ๋ธ(Waterfall Model) ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ - ํญํฌ์ ๋ชจ๋ธ(Waterfall Model) ์ ํ ์์ฐจ ๋ชจ๋ธ(linear, sequential model), ๊ณ ์ ์ ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ ๊ฐ ๋จ๊ณ๋ ๋ณํ ์ํ๋์ง ์๊ณ ์์ฐจ ์ํ๋จ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ ์ค์ ๋ก๋ ์์ ๋ฐ ์ฌ์์ ์ ์ํด ์ด์ ๋จ๊ณ๋ก์ ํผ๋๋ฐฑ์ด ๋ถ๊ฐํผํจ ํญํฌ์ ๋ชจ๋ธ์ ํ์ฅ ํํ๋ก V ๋ชจ๋ธ๐์ด ์๋ค. ์ฅ์ ๋จ์ํ ์ ํ ๋ชจ๋ธ - ์ดํด ์ฌ์ ๋จ๊ณ๋ณ๋ก ์ ํํ๋ ์ ๊ทผ ๋ฐฉ๋ฒ - ์ฒด๊ณ์ ๋ฌธ์ํ ๊ฐ๋ฅ ํ๋ก์ ํธ ์งํ ์ํฉ ๋ช ํํ ํ์ ๊ฐ๋ฅ ๋จ์ ์๊ตฌ์ฌํญ์ ์๋ฒฝํ๊ฒ ์์ฑํด์ผ ํจ ๋ณ๊ฒฝ ์์ฉ ์ด๋ ค์ ์์คํ ์ ๋์์ ํ๋ฐ์ ํ์ธ ๊ฐ๋ฅ ๋ํ ํ๋ก์ ํธ์ ์ ์ฉ ๋ถ์ ํฉ ์ง๋์น ๋ฌธ์ํ ์ํ ๋ถ์ ๊ฒฐ์ฌ ์ผ์ ์ง์ฐ ๊ฐ๋ฅ์ฑ ํผ 1. ํญํฌ์ ๋ชจ๋ธ - ํ๋น์ฑ ์กฐ์ฌ ๋จ๊ณ ๋ฌธ์ ์ ์ ํ์ ํ๊ณ .. 2020. 4. 18. [์ปดํจํฐ๋ณด์] ์ํธ์ ๊ฐ๋ ๊ณผ ๋์นญํค ์ํธ, ๊ณต๊ฐํค ์ํธ [์ปดํจํฐ๋ณด์] ์ํธ์ ๊ฐ๋ ๊ณผ ๋์นญํค ์ํธ, ๊ณต๊ฐํค ์ํธ 1. ์ํธ์ ์ ์ ๋ฐ ์ฉ์ด ๐ ์ํธ์ ์ ์ ๋ ์ฌ๋์ด ์์ ํ์ง ์์ ์ฑ๋(์ธํฐ๋ท ๋ฑ)์ ํตํ์ฌ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ผ๋ ์ 3์๋ ์ด ์ ๋ณด์ ๋ด์ฉ์ ์ ์ ์๋๋ก ํ๋ ๊ฒ ๐ ๊ด๋ จ ์ค์ ๊ฐ๋ ๋ฐ ์ฉ์ด * ํ๋ฌธ(plaintext): ์๋ณธ ๋ฉ์์ง * ์ํธ๋ฌธ(ciphertext): ์ฝ๋ํ(์ํธํ)๋ ๋ฉ์์ง * ์ํธํ(encryption): ํ๋ฌธ์ ์ํธ๋ฌธ์ผ๋ก ๋ณํ * ๋ณตํธํ(decryption): ์ํธ๋ฌธ์ ํ๋ฌธ์ผ๋ก ๋ณํ * ํค(key): ์ํธํ, ๋ณตํธํ ์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ์ค์ํ ์ด์ ๐ ์ผ๋ฐ์ ์ธ ์ํธ์ ์๊ฑด ์ํธ ์๊ณ ๋ฆฌ์ฆ + ํค(key) ์ 3์๊ฐ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์๋๋ผ๋ ํค(key)๋ฅผ ๋ชจ๋ฅด๋ฉด ์ํธ๋ฅผ ํ ์ ์์ 2. ๊ณ ๋ ์ํธํ ๋ฐฉ๋ฒ ์ ์น๋ฒ(Permutatio.. 2020. 4. 5. [์๊ณ ๋ฆฌ์ฆ] ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ - ์ด์ง ํ์, ํต ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ [์๊ณ ๋ฆฌ์ฆ] ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ - ์ด์ง ํ์, ํต ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ 1. ๋ถํ ์ ๋ณต(Divide-and-Conquer) ๋ฐฉ๋ฒ - ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ธฐ๋ฒ ์ค ํ๋ - ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ธฐ๋ฒ : ๋ถํ ์ ๋ณต(divide-and-conquer) ๋ฐฉ๋ฒ, ๋์ ํ๋ก๊ทธ๋๋ฐ(dynamic programming) ๋ฐฉ๋ฒ, ์์ฌ์์ด(greedy) ๋ฐฉ๋ฒ 1) ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ์ ์๋ฆฌ - ์ํ์ (recursive)์ผ๋ก ๋ฌธ์ ๋ฅผ ํธ๋ ํํฅ์(top-down) ์ ๊ทผ ๋ฐฉ๋ฒ ์ฃผ์ด์ง ๋ฌธ์ ์ ์ ๋ ฅ์ ๋ ์ด์ ๋๋ ์ ์์ ๋๊น์ง ์ํ์ ์ผ๋ก ๋ถํ ํ๊ณ ๋ถํ ๋ ์์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ํ ๊ทธ ํด๋ฅผ ๊ฒฐํฉํ์ฌ ์๋ ๋ฌธ์ ์ ํด๋ฅผ ๊ตฌํ๋ ๋ฐฉ์ 2) ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ์ ํน์ง - ๋ถํ ๋ ์์ ๋ฌธ์ ๋ ์๋ ๋ฌธ์ ์ ์ฑ๊ฒฉ์ด ๋์ผํ๋ค. → ์ ๋ ฅ ํฌ๊ธฐ๋ง ์์์ง - ๋ถํ ๋ ๋ฌธ.. 2020. 3. 23. [์ปดํจํฐ๋ณด์] ์ ๋ณด๋ณดํธ์ ๋ชฉํ - ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฉ์ฑ [์ปดํจํฐ๋ณด์] ์ ๋ณด๋ณดํธ์ ๋ชฉํ - ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฉ์ฑ ๐ก ์ ๋ณด๋ณดํธ์ ํต์ฌ ๋ชฉํ - ๊ธฐ๋ฐ์ฑ(Confidentiality) - ๋ฌด๊ฒฐ์ฑ(Integrity) - ๊ฐ์ฉ์ฑ(Availability) ๐ก ์ ๋ณด๋ณดํธ์ ๊ธฐํ ๋ชฉํ - ๋ถ์ธ๋ฐฉ์ง(Non-Repudiation) - ์ธ์ฆ(Authentication) - ์ ๊ทผ์ ์ด(Access Control) 1. ์ ๋ณด๋ณดํธ์ ํต์ฌ ๋ชฉํ ๊ธฐ๋ฐ์ฑ(Confidentiality) ํ๋ฝ๋์ง ์์ ์๊ฐ ์ ๋ณด์ ๋ด์ฉ์ ์ ์ ์๋๋ก ํ๋ ๊ฒ ์) ๊ณ ๊ฐ ์ ๋ณด ๋ณดํธ ์ ๊ทผ ์ ์ด์ ์ํธํ ๋ฌด๊ฒฐ์ฑ(Integrity) ํ๋ฝ๋์ง ์์ ์๊ฐ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ์๋ณ์กฐํ ์ ์๋๋ก ํ๋ ๊ฒ ์๋ณ์กฐ ๋ฐ์ ์ ํ์ธ์ด ๊ฐ๋ฅํด์ผํจ ๊ฐ์ฉ์ฑ(Availability) ํ๋ฝ๋ ์ = ์ ๊ทผ ๊ถํ์ด ์๋ ์๋ ์ธ์ ๋ ํ์ํ ๋.. 2020. 3. 23. [์ปดํจํฐ๊ณตํ/์ํํธ์จ์ด๊ณตํ] ์ํํธ์จ์ด ๊ณตํ ๊ฐ์ [์ปดํจํฐ๊ณตํ/์ํํธ์จ์ด๊ณตํ] ์ํํธ์จ์ด ๊ณตํ ๊ฐ์ 1. ์ํํธ์จ์ด์ ์ ์ ํฌ๊ด์ /์ํํธ์จ์ด ๊ณตํ ๊ด์ ์ ์ํํธ์จ์ด ์ ์ : ๐ ์ข์ ์๋ฏธ์ ์ํํธ์จ์ด(ํ๋ก๊ทธ๋จ๊ณผ ๊ด๋ จ ๋ฐ์ดํฐ์ ๋ฌถ์)์ ๋ํ์ฌ ๊ด๋ จ ๋ฌธ์๋ค์ ํฌํจํ ๊ฐ๋ 2. ์ํํธ์จ์ด์ ๋ถ๋ฅ ๊ธฐ๋ฅ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์์คํ ์ํํธ์จ์ด ์์ฉ ์ํํธ์จ์ด ์ฌ์ฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์ผ๋ฐ(Generic) ์ํํธ์จ์ด : = ํจํค์ง ์ํํธ์จ์ด = ๋ฒ์ฉ ์ํํธ์จ์ด ๋ง์ถคํ(Custom) ์ํํธ์จ์ด : = ๋น์คํฌํฌ ์ํํธ์จ์ด 3. ์ํํธ์จ์ด์ ์ฑ์ง ๋ฌดํ์ ์ธ๊ณต๋ฌผ - ๋ฌผ์ง์ ์ธ ์ฑ์ง ์์ (H/W์ ๋นํด) ์ปดํฌ๋ํธ๋ค์ ์กฐ๋ฆฝ์ ํตํด ๋ง๋ค๊ธฐ ์ด๋ ค์ ์ค๊ณ ๊ณผ์ ์ ํ์ง ๋ณด์ฆ ํ๋ ์ค์ (cf. H/W : ๊ตฌํ/์ ์ ๊ณผ์ ์ด ์ค์) ๊ฐ๋ฐ ๋น์ฉ โ ์ธ๊ฑด๋น (H/W์ ๋นํด) ๋ณ๊ฒฝ ์ฉ์ด - ์ํํธ์จ์ด์ .. 2020. 3. 22. [์๊ณ ๋ฆฌ์ฆ] ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณ์ ๋ถ์ - ์๊ฐ ๋ณต์ก๋์ ์ ๊ทผ์ฑ๋ฅ [์๊ณ ๋ฆฌ์ฆ] ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณ์ ๋ถ์ - ์๊ฐ ๋ณต์ก๋์ ์ ๊ทผ์ฑ๋ฅ 1. ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ธฐ๋ฒ ์ฃผ์ด์ง ๋ฌธ์ , ์์ฑ, ์กฐ๊ฑด ๋ฑ์ ๋ฐ๋ผ ๋งค์ฐ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ ์ ์๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ด๊ณ ๋ฒ์ฉ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ธฐ๋ฒ์ ์กด์ฌํ์ง ์์ง๋ง ๊ทธ ์ค ๋ํ์ ์ธ ์ค๊ณ ๊ธฐ๋ฒ ์ธ ๊ฐ์ง๋ฅผ ๊ผฝ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ(Divide-and-Conquer) ๋์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ(Dynamic Programming) ์์ฌ์์ด ๋ฐฉ๋ฒ(Greedy) ๋ฐ๋ผ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ๋ฉฐ ์ ์ธ ๊ฐ์ง ์ค๊ณ ๊ธฐ๋ฒ์ ๊ผญ ์์๋ฌ์ผ ํ ๊ฒ์ด๋ค. 2. ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ฑ ๋ถ์ ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ฑ ๋ถ์์ ์๊ณ ๋ฆฌ์ฆ ์ํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์๊ณผ ์ํ ์๊ฐ์ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค. ๋ฉ๋ชจ๋ฆฌ ์ → ๊ณต๊ฐ ๋ณต์ก๋(Space Complexity) = ์ ์ ๊ณต๊ฐ + ๋์ ๊ณต๊ฐ .. 2020. 3. 11. [์๊ณ ๋ฆฌ์ฆ] ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ๊ณผ ๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ [์๊ณ ๋ฆฌ์ฆ] ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ๊ณผ ๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ 1. ์๊ณ ๋ฆฌ์ฆ์ ์ ์์ ์กฐ๊ฑด 1) ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ๋ช ๋ น์ด๋ค์ ๋จ๊ณ์ ๋์ด 2) ์๊ณ ๋ฆฌ์ฆ์ ์กฐ๊ฑด ์ ๋ ฅ : 0๊ฐ ์ด์์ ์ธ๋ถ ์ ๋ ฅ ์ถ๋ ฅ : 1๊ฐ ์ด์์ ์ถ๋ ฅ ๋ช ํ์ฑ : ๊ฐ ๋ช ๋ น์ ๋ชจํธํ์ง ์๊ณ ๋ช ํํด์ผ ํจ ์ ํ์ฑ : ํ์ ๋ ์์ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๋ฐ๋์ ์ข ๋ฃ๋จ ์ ํจ์ฑ : ๋ชจ๋ ๋ช ๋ น์ ์ปดํจํฐ์์ ์ํ ๊ฐ๋ฅํด์ผ ํจ ์๊ณ ๋ฆฌ์ฆ์ ์กฐ๊ฑด์ ํฉ์ณ์ ์ ์ํ์๋ฉด ์๊ณ ๋ฆฌ์ฆ์ด๋ ์ฃผ์ด์ง ๋ฌธ์ ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ชจํธํ์ง ์๊ณ ์ปดํจํฐ๊ฐ ์ํ ๊ฐ๋ฅํ ์ผ๋ จ์ ์ ํ๊ฐ์ ๋ช ๋ น๋ค์ ์์์ ์ผ๋ก ๊ตฌ์ฑํ ๊ฒ์ด๋ค. 2. ์๊ณ ๋ฆฌ์ฆ ์์ฑ ๋จ๊ณ 3. ์๊ณ ๋ฆฌ์ฆ์ ํํ/๊ธฐ์ ๋ฐฉ๋ฒ ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ์ผ์ ์ธ์ด, ์์ฌ ์ฝ๋(Pseudo code), ์์๋์ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํํํ ์ ์.. 2020. 3. 10. [์๋ฃ๊ตฌ์กฐ] ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(singly linked list) - ์ ๋ฆฌ ๋ฐ ์ฐ์ต๋ฌธ์ 1. ๋ฆฌ์คํธ์ ๊ฐ๋ - ๋ฆฌ์คํธ๋ ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ์์๋ค ๊ฐ์ ๋ ผ๋ฆฌ์ ์ธ ์์๋ฅผ ์ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. - ์์๋ค ๊ฐ์ ์์๋ ๋ ผ๋ฆฌ์ ์ผ๋ก(์ถ์์ ์ผ๋ก) ์ง์ผ์ง๋ฉฐ ์์๊ฐ ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ์์น๋ ์๊ดํ์ง ์๋๋ค. - ๋ฐฐ์ด์ ์์ : ๋ฌผ๋ฆฌ์ VS ๋ฆฌ์คํธ์ ์์ : ๋ ผ๋ฆฌ์ =์ถ์์ =์๋ฏธ์ - ๋ฐฐ์ด์ ์ด์ฉํด ๋ฆฌ์คํธ๋ฅผ ๊ตฌํํ๋ฉด ๋ ผ๋ฆฌ์ ์ธ ์์๋ฅผ ์งํค๊ธฐ ์ํด ์์์ ์ด๋์ด ๋ง์์ง๋ค. - ๋ฐ๋ผ์ ๋ฆฌ์คํธ๋ ์ผ๋ฐ์ ์ผ๋ก ํฌ์ธํฐ ๋ณ์๋ฅผ ์ด์ฉํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ค. - ํฌ์ธํฐ ๋ณ์ : ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ์์น ์ ์ฅ - ํฌ์ธํฐ ๋ณ์์ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ง์ ์ ์๋ค. 2. ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ ์๋ฃ์ ์ฝ์ , ์ญ์ ๊ฐ ๋น๋ฒํ ๋ฐ์ํ๋ ์ํฉ์์ ๋ฆฌ์คํธ๋ฅผ ๋ฐฐ์ด๋ก ๊ตฌํํ๋ ๊ฒ์ ์๋ฃ ์ด๋์ผ๋ก ์ธํด ์ปดํจํ ์ฑ๋ฅ์ ๋นํจ.. 2019. 11. 20. [์๋ฃ๊ตฌ์กฐ] ํ - ์ ๋ฆฌ ๋ฐ ์ฐ์ต๋ฌธ์ 1. ํ(queue)์ ๊ฐ๋ - ํ์ ์คํ์ ๊ณตํต์ ์ ๊ฐ์ฒด์ ๊ทธ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๋ ์์๋ฅผ ๊ธฐ์ตํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ์ถ์ ์๋ฃํ์ด๋ผ๋ ๊ฒ - ๊ฐ์ฅ ๋จผ์ ์ ๋ ฅ๋ ์๋ฃ๊ฐ ๊ฐ์ฅ ๋จผ์ ์ถ๋ ฅ๋๋ ๊ด๊ณ๋ฅผ ํํํ๋ค. - FIFO(First In First Out, ์ ์ ์ ์ถ) - FCFS(First Come First Servce, ์ ์ฐฉ์ ์๋ธ) - ํ์ชฝ ๋์์๋ ์์์ ์ฝ์ ์ฐ์ฐ๋ง, ๋ค๋ฅธ ํ์ชฝ ๋์์๋ ์ญ์ ์ฐ์ฐ๋ง ๋ฐ์ - ๋๊ฐ์ ํ ํฌ์ธํฐ ๋ณ์(์ผ๋ฐ์ ์ผ๋ก front, rear๋ก ๋ช ๋ช )๋ฅผ ์ฌ์ฉํ๋ค. - front๋ ํ์ ์ญ์ ๊ฐ ๋ฐ์ํ๋ ์ง์ ์ ๊ฐ๋ฆฌํจ๋ค. - rear๋ ํ์ ์ฝ์ ์ด ๋ฐ์ํ๋ ์ง์ ์ ๊ฐ๋ฆฌํจ๋ค. - ์ฝ์ ์ rear๋ฅผ ์ฆ๊ฐ์ํค๊ณ ์ญ์ ์ front๋ฅผ ๊ฐ์์ํจ๋ค. 2. ํ์ ์ถ์ ์๋ฃํ(ADT) * Object(๊ฐ.. 2019. 11. 20. ์ด์ 1 2 ๋ค์