๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋“œํŠธ๋ฆฌ3

[๋ฌธ์ œ ํ’€์ด] ํ–‰๋ณตํ•œ ์ˆ˜์—ด์˜ ๊ฐœ์ˆ˜ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 4์ฃผ์ฐจ) ๋ฌธ์ œ : ์ฝ”๋“œํŠธ๋ฆฌ ํ–‰๋ณตํ•œ ์ˆ˜์—ด์˜ ๊ฐœ์ˆ˜ ๋‚œ์ด๋„๋Š” ์‰ฌ์›€์ด์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ๊ฐ์„ ๋ชปํ•ด์„œ ๊ฝค๋‚˜ ์—ฌ๋Ÿฌ๋ฒˆ ํ‹€๋ ธ๋‹ค..ใ…Žใ…Žํ‹€๋ฆฐ ์ด์œ ?ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ํ‹€๋ฆฐ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ๋ณด๋‹ค ํŠน์ • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•จ. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•!ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ํ‹€๋ฆฐ ์›์ธ์„ ํŒŒ์•…ํ•˜์ž!! ์–ด๋ ค์› ๋˜ ์  & ์•Œ๊ฒŒ๋œ ์ !!๐Ÿฅฒ ์ˆ˜์—ด์ด ๊ฐ™์€ ์ˆ˜๊ฐ€ ๋ฐ˜๋ณต๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด์˜ ์•ž ๋’ค ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.๊ทธ๋Ÿฐ๋ฐ.. ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ๋˜๋‹ˆ๊นŒ ํ•ด๋‹นํ•˜๋Š” ์กฐ๊ฑด์„ ๊ฑธ์—ˆ๋Š”๋ฐ.. ํ•ด๋‹น ์กฐ๊ฑด ๋•Œ๋ฌธ์— cnt ๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค.๐Ÿ‘ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒŒ ์žก์œผ๋ฉด ๋œ๋‹ค!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!์ง„์ฑ ... ๊ฐ„๋‹จํ•˜์ž–์•„..?.. 2024. 8. 11.
[์ด๋ก ] ๋ฐฐ์—ด (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 3์ฃผ์ฐจ) ์ •์  ๋ฐฐ์—ด๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, ์„ ์–ธ ์ดํ›„์—๋Š” ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.๋™์  ๋ฐฐ์—ด๊ธธ์ด๊ฐ€ ์ž์œ ์ž์žฌ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด. ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋งŒํผ๋งŒ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •์  ๋ฐฐ์—ด์˜ ๊ธฐ๋ณธ ์—ฐ์‚ฐ์‚ฝ์ž…๋ฐฐ์—ด์˜ ์•ž์ด๋‚˜ ๊ฐ€์šด๋ฐ์— ๊ฐ’์ด ์‚ฝ์ž…๋œ๋‹ค๋ฉด, ์ƒˆ๋กœ์šด ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ž๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ธ(์ตœ์•…์˜ ์ƒํ™ฉ์—์„œ์˜) ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด๋‹ค.์ฆ‰, ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ( ๋งจ ๋’ค์— ๊ฐ’์ด ์‚ฝ์ž…๋˜๋Š” ๊ฒฝ์šฐ)๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(1)์ด๋‹ค.์‚ญ์ œ์‚ฝ์ž…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์— ๊ฐ’์ด ์‚ญ์ œ๋œ๋‹ค๋ฉด ์‚ญ์ œ ํ›„ ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.๋ฐฐ์—ด์˜ ์•ž์ด๋‚˜ ๊ฐ€์šด๋ฐ์—์„œ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค๋ฉด ์‚ญ์ œ๋œ ๊ฐ’์˜ ๋นˆ ์ž๋ฆฌ๋ฅผ ์ฑ„์›Œ์•ผ ํ•˜๋ฏ€๋กœ ๋‚˜๋จธ์ง€ N-1 ๊ฐœ์˜ ๊ฐ’์ด ์ด๋™.. 2024. 8. 4.
[์ด๋ก ] ๊ณต๊ฐ„๋ณต์žก๋„ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 1์ฃผ์ฐจ) ๊ณต๊ฐ„๋ณต์žก๋„๋ž€?๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ (์ฝ”๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์–ผ๋งˆ๋‚˜ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š”๊ฐ€?)๊ณต๊ฐ„๋ณต์žก๋„๊ฐ€ ์™œ ์ค‘์š”ํ•œ๊ฐ€?์ปดํ“จํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•œ์ •๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ์„์ˆ˜๋ก ํšจ์œจ์ด ์ข‹์Œ.๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด๋ณด๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋„˜๋Š” ์ฝ”๋“œ์ธ์ง€ ํ™•์ธ ๊ฐ€๋Šฅํ•จ. ๊ณต๊ฐ„๋ณต์žก๋„ ๊ณ„์‚ฐ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ์ค€- ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ์ค€์€ ๋ณดํ†ต C++ ๊ธฐ์ค€์ž๋ฃŒํ˜•ํฌ๊ธฐint4bytechar1bytedouble8byteshort2byte ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•๊ฐ’์ด ์ƒ์„ฑ ํ›„ ์—†์–ด์ง€๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์ŒํŠน์ • ์‹œ์ ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๊ฐ’๋“ค์ด ๊ฐ€์žฅ ๋งŽ์€ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•จ int a[2์ฒœ๋งŒ] : 80MBint a[2๋ฐฑ๋งŒ] : 80 / 10 = 8MBchar a[2์ฒœ๋งŒ] : 80 / 4 = 20MBdouble a[2์ฒœ๋งŒ] : 80 * 2 = 160MB-- ๊ณต๊ฐ„๋ณต์žก๋„ ๊ณ„์‚ฐ ์˜ˆ์‹œ 1.. 2024. 7. 19.