PROGRAMMING
-
Arrays(๋ฐฐ์ด), Binary Search(์ด์ง ํ์), ์ฆ๋ช , ๊ทธ๋ฆฌ๊ณ logPROGRAMMING/์๋ฃ๊ตฌ์กฐ 2020. 6. 18. 14:26
Arrays: ์ฐ์๋ ์ฃผ์, ๋์ผํ Type ์ฅ์ : ๊ฐ ์์์ ๋ํ ์ ๊ทผ์ด ์์ ์๊ฐ์ ๊ฐ๋ฅ. Search ๊ฐ ๋น ๋ฆ ๋จ์ : ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณํํ๋ ค๋ฉด ๋น์ฉ์ด ํฌ๊ฒ ๋ฆ. Insert, Delete ๊ฐ ๋๋ฆด ์ ์๋ค. -> ๋ณํ๊ฐ ์๊ฑฐ๋ ๋๋ฌธ ํํ์ ์๋ฃ์ ์ฌ์ฉํ๋ค. Binary Search (์ด์ง ํ์) ์๋ฃ์ ํ์ ์๊ณ ๋ฆฌ์ฆ ์ค ์ ํ ํ์(ํ ์์์ฉ ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋ฐฉ๋ฌธํ์ฌ ์ฐพ๋ ๋ฐฉ๋ฒ) ๋ณด๋ค ์๋ฑํ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์๋ฃ๋ฅผ ๋ฐ์ฉ ๋๋์ด ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฆ, ์ค๊ฐ๊ฐ์ ๋ณด๊ณ ๊ทธ๋ณด๋ค ์ผ์ชฝ์ ์์์ง ์ค๋ฅธ์ชฝ์ ์์์ง ํ๋จํ์ฌ ๊ทธ ํด๋น ๊ตฌ์ญ์์ ์๋กญ๊ฒ ๋ฐ์ฉ ํ์ํ๋ ๊ฒ์ด๋ค. ์ด๋, ์๋ฃ๋ (๋ฌด์กฐ๊ฑด) ์ ๋ ฌ๋์ด ์์ด์ผ ํ๋ค. ๋ค์์ ๊ฐ๊ฐ ๋ฐ๋ณต์ ์ ์ฐจ์ ์ฌ๊ท์ ์ ์ฐจ๋ก ์ ์ฑํ ์ด์ง ํ์ ์ฝ๋์ด๊ณ , ๊ฐ๊ฐ์ ๋ํด ์ฆ..
-
์ํ์ ๊ท๋ฉ๋ฒ์ผ๋ก ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ ์ฆ๋ชPROGRAMMING/์๋ฃ๊ตฌ์กฐ 2020. 6. 18. 13:28
์ํ์ ๊ท๋ฉ๋ฒ์ผ๋ก ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ์ฆ๋ช ํ๊ธฐ ์ํด์ ๋ค์์ ๋ ๊ฐ์ง๋ง ํ์ธํ๋ฉด ๋๋ค. โ P(1) ์ด ์ฐธ์ด๋ค. โก P(x-1) -> P(x) ๋ ์ฐธ์ด๋ค. ์ฆ, P(x-1) ์ด ์ฐธ์ด๋ผ๊ณ ๋ฏฟ๊ณ (๊ฐ์ ) P(x) ํ์ธ! :: ์ฌ๊ท ์ฝ๋๋ "์ฌ๊ท๋ ํญ์ ์ฑ๊ณตํ๋ค"๊ณ ์ฝ์ผ๋ฉด ๋จ ๋ค์์ ๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์. (c์ธ์ด๋ก ์์ฑ๋์์ต๋๋ค.) int sum(int x) { int i, num; num=0; for (int i=0; i P(x) ์ด ์ฐธ์ด๋ค : sum(x-1) ์ด 1+2+...+(x-1) ์ ๋ฆฌํดํ๋ฉด sum(x) ๋ 1+2+...+(x-1)+x ๋ฅผ ๋ฆฌํดํ๋ค. => ์ฝ๋๋ฅผ ๋ณด๋ฉด sum(x) ๋ x + sum(x-1) ์ ๊ฐ์ ๋ฆฌํดํ๋ค. sum(x-1) ์ 1+2+...+(x-1) ๊ณผ ๊ฐ๋ค๊ณ ๊ฐ์ ํ์ผ๋ฏ๋ก sum(x)..
-
์ํ์ ๊ท๋ฉ๋ฒPROGRAMMING/์๋ฃ๊ตฌ์กฐ 2020. 6. 18. 13:06
์ํ์ ๊ท๋ฉ๋ฒ: ์ด๋ค ๋ช ์ P(n) ์ด ์์ ๋ ๋ชจ๋ ์์ฐ์ n ์ ๋ํด ์ฐธ์์ ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ - ๊ธฐ๋ณธํ: P(1) ์ด ์ฐธ(BASE)์ด๊ณ , P(n-1)->P(n) ์ด ์ฐธ(STEP)์ด๋ฉด P(n) ์ ๋ชจ๋ ์์ฐ์ n ์ ๋ํด์ ์ฐธ์ด๋ค. - ๊ฐํ ํํ: P(1) ์ด ์ฐธ์ด๊ณ , P(1)∧P(2)∧···∧P(n-1) -> P(n) ์ด ์ฐธ์ด๋ฉด P(n) ์ ๋ชจ๋ ์์ฐ์ n ์ ๋ํด์ ์ฐธ์ด๋ค. ์ํ์ ๊ท๋ฉ๋ฒ์ ๋ ์ด๋ ค์ด ์๊ธฐ๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ค. โ์ค์โ P(n-1)->P(n) ≡ P->Q ์ ์๋ฏธ - P ๊ฐ ์ฐธ, Q ๊ฐ ์ฐธ -> ์ ์ ๋ ์ฐธ - P ๊ฐ ์ฐธ, Q ๊ฐ ๊ฑฐ์ง -> ์ ์ ๋ ๊ฑฐ์ง - P ๊ฐ ๊ฑฐ์ง, Q ๊ฐ ์ฐธ -> ์ ์ ๋ ์ฐธ - P ๊ฐ ๊ฑฐ์ง, Q ๊ฐ ๊ฑฐ์ง -> ์ ์ ๋ ์ฐธ P ๊ฐ ๊ฑฐ์ง์ด๋ฉด Q ๋ '์๋ฏธ ์์'. (์ฐธ..
-
๋ณ์์ ํฌ์ธํฐPROGRAMMING/์๋ฃ๊ตฌ์กฐ 2020. 6. 18. 12:52
(์ด ๋ฌธ์๋ c์ธ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค.) ๋ณ์: ์ด๋ฆ , ์ฃผ์ , type(ํฌ๊ธฐ, ํด์) - ์ด๋ฆ์ ์ฌ๋์ ์ํ ๊ฒ, ์ฃผ์๋ CPU/MEMORY ๋ฅผ ์ํ ๊ฒ. ๋ณ์๋ฅผ ๋์ ํ ๋นํ๊ฒ ๋๋ฉด, MEMORY ์ ํด๋น ๋ณ์์ 'ํฌ๊ธฐ'๋งํผ ๊ณต๊ฐ์ด ์๊ธด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ณ์์ ์ฃผ์๋ก ๊ทธ ๋ณ์๋ฅผ ๋ค๋ฃฐ ์๋ฐ์ ์๋๋ฐ, ๊ทธ ์ฃผ์๋ฅผ ์ ์ฅํ ์ ์๋ ๋ณ์๊ฐ ํฌ์ธํฐ Pointer : ๋ณ์์ ์ผ์ข . ๋ณ์์ ํน์ง ์ค, type ๊ฐ ์ฃผ์์ธ ๋ณ์. - ์ด๋ค type ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋์ง๋ ์ถ๊ฐ๋ก ํ์ํด์ผ ํจ - ํ๊ธฐ: int * p; - * ์ "p์ ์๋ ๊ฐ์ ๊บผ๋ด์ ์ฃผ์๋ก ์๊ฐํด์ ๊ทธ ์ฃผ์๋ก ๊ฐ๋ค" ์ฆ, p์์ ์ฃผ์๋ฅผ ๊บผ๋ด ๋ชฉ์ ์ง์ ๊ฐ๋ฉด int ๊ฐ ์๋ ๊ฒ์ผ๋ก ํญ์ ์๊ฐ - p= &a : ๋ณ์ a ์ ์ฃผ์๋ฅผ ๊บผ๋ด p ์ ์ ..