๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ199 [0x04] ์ฐ๊ฒฐ๋ฆฌ์คํธ ์ ์์ ์ฑ์ง ์ฑ์ง ์์์ ์์น์ ์๋ ์์๋ฅผ ํ์ธ/๋ณ๊ฒฝ : O(N) (๋ถ์ฐ์์ด๊ธฐ ๋๋ฌธ์ ๊ทธ ์์๊น์ง ์ฐพ์๊ฐ์ผ ํจ) ์์์ ์์น์ ์์๋ฅผ ์ถ๊ฐ/์ ๊ฑฐ : O(1) ์์๋ค์ด ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ๊ฒฐ๋์ด ์์ง ์์ cache hit rate๊ฐ ๋ฎ์ง๋ง ํ ๋น์ด ๋ค์ ์ฌ์ ์ข ๋ฅ ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ single linked list ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ doubly linked list ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ circular linked list ๋ฐฐ์ด vs ์ฐ๊ฒฐ ๋ฆฌ์คํธ overhead : ์, ๋ค ์์์ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค (2^n byte์ด๋ฉด n๋งํผ ์ถ๊ฐ๋ก ํ์) ๊ตฌํ struct Node { struct Node *prev, *next; int data; } ์ผ๋งค ์ฐ๊ฒฐ๋ฆฌ์คํธ const int MAX = 1000005; in.. 2023. 6. 20. [0x03] ๋ฐฐ์ด ๋ฐฐ์ด ์ ์ ๋ฉ๋ชจ๋ฆฌ ์์ ์์๋ฅผ ์ฐ์ํ๊ฒ ๋ฐฐ์นํ ์๋ฃ๊ตฌ์กฐ ์ฑ์ง O(1)์ k๋ฒ์งธ ์์๋ฅผ ํ์ธ/๋ณ๊ฒฝ ๊ฐ๋ฅ ์ถ๊ฐ์ ์ผ๋ก ์๋ชจ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ overhead๊ฐ ๊ฑฐ์ ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์ด์์ผ๋ฏ๋ก cache hit rate๊ฐ ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์ํ ๊ตฌ๊ฐ์ ์ก์์ผ ํด์ ํ ๋น์ ์ ์ฝ์ด ๊ฑธ๋ฆผ ์ฐ์ฐ ์์์ ์์น ์์ ํ์ธ/๋ณ๊ฒฝ : O(1) ์์๋ฅผ ๋์ ์ถ๊ฐ / ๋ง์ง๋ง ์์ ๋ณ๊ฒฝ : O(1) ์์์ ์์น์ ์์ ์ถ๊ฐ/์ ๊ฑฐ : O(N) → ๋ค์ ์์๋ค ํ ์นธ ๋ค๋ก ๋ฐ์ด์ผ ํจ ์ด๊ธฐํ ์ ์ญ๋ณ์๋ก ์ ์ธํ ๊ฒฝ์ฐ int๋ 0์ผ๋ก ์ด๊ธฐํ ์ง์ญ๋ณ์๋ ์ฐ๋ ๊ธฐ๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ { } ๋ฑ์ผ๋ก ์ด๊ธฐํํด์ผ ํจ int a[21]; int b[21][21]; memset (๋น์ถ์ฒ) memset(a, 0, sizeof a); memset(b, 0, .. 2023. 6. 20. [0x02] ๊ธฐ์ด ์ฝ๋ ์์ฑ ์๋ น 2 ํจ์ ์ธ์ ๋ฐฐ์ด์ ์ธ์๋ก ๋๊ธฐ๋ฉด ์ฃผ์๊ฐ์ด ๋์ด๊ฐ๋ค ๋ณ์๋ฅผ ์ธ์๋ก ๋๊ธฐ๋ฉด ๋ณต์ฌ๋ ๊ฐ์ด ๋ค์ด๊ฐ๋ค & (reference)๋ฅผ ์ฌ์ฉํ๋ฉด ์ฐธ์กฐ ๋์์ ์ฃผ์ ์ ๋ณด๋ง ๋์ด๊ฐ STL standard template library STL์ ํจ์ ์ธ์๋ก ๋๊ธธ ๋ ๊ทธ๋ฅ STL์ ํจ์ ์ธ์๋ก ์ค์ด๋ณด๋ด๋ฉด ๋ณต์ฌ๋ณธ์ ๋๊ธฐ๋ ๊ฒ // ํฌ๊ธฐ๊ฐ n์ธ vector 2๊ฐ๋ฅผ ๋น๊ตํ๋ค๊ณ ํ์ ๋ // n๋งํผ ๋ณต์ฌํ๊ณ ๋ณด๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ O(N) ์๊ฐ ๋ณต์ก๋ bool cmp1(vector v1, vector v2, int idx){ return v1[idx] > v2[idx] } ํ์ค ์ ์ถ๋ ฅ ๊ณต๋ฐฑ ํฌํจ ๋ฌธ์์ด ์ ๋ ฅ scanf์ cin ๋ชจ๋ ๊ณต๋ฐฑ ํฌํจ ๋ฌธ์์ด ์ ๋ ฅ์ด ๊น๋ค๋กญ๋ค ํด๊ฒฐ ๋ฐฉ๋ฒ scanf์ ์ต์ char a1[10]; scanf("%[^\.. 2023. 6. 20. [0x01] ๊ธฐ์ด ์ฝ๋ ์์ฑ ์๋ น 1 ๊ณต๊ฐ๋ณต์ก๋ 512 MB = 1.2์ต๊ฐ int ( 1 int = 4B) ⇒ ์ด๋ ๊ฒ ํ์ด๋๋ฉด ํ๋ฆฐ ๊ฒ! ์ ์ ์๋ฃํ char (1 byte) : 2^7 - 1(127) short (2 byte) : 2^15 - 1(32767) int (4 byte) : 2^31 - 1 = 2.1 * 10^9 (21์ต) long long (8 byte) : 2^63 - 1 = 9.2 * 10^18 ์ค์ ์๋ฃํ 2์ ์์ ์น์ ์ด์ฉํด ์ด์ง์๋ก ๋ํ๋ผ ์ ์์ float (4byte) double (8byte) ์ค์์ ์ ์ฅ/์ฐ์ฐ ๊ณผ์ ์์ ๋ฐ๋์ ์ค์ฐจ๊ฐ ๋ฐ์ํ ์๋ฐ์ ์๋คfraction field์ ์ฌ์ด์ฆ๊ฐ ์ ํํ๊ธฐ ๋๋ฌธ์ ๋ฌดํ์์๋ฅผ ์๋ฒฝํ๊ฒ ํํํ ์ ์๊ณ ์๋ฃํ์ ๋ฐ๋ผ ๋ฐ์ฌ๋ฆผํด์ผ ํจ float : ์ ํจ์ซ์ 6์๋ฆฌ double .. 2023. 6. 20. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 50 ๋ค์