๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS

    [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด (3) - ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด (Adatper Pattern)

    ๐Ÿ 1. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด(Adapter Pattern)์ด๋ž€? ํ•œ๊ตญ์˜ ๊ฐ€์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „์••์€ 220V์ž…๋‹ˆ๋‹ค. ๋ฏธ๊ตญ์˜ ๊ฐ€์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „์••์€, 110V๋ฅผ ์‚ฌ์šฉํ•˜์ฃ . ํ•œ๊ตญ์‚ฌ๋žŒ์ด ๋ฏธ๊ตญ์œผ๋กœ ์—ฌํ–‰์„ ๊ฐ€์„œ, ์ˆ™์†Œ์— ๋จธ๋ฌธ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ํ•œ๊ตญ์˜ ํ•ธ๋“œํฐ ์ถฉ์ „๊ธฐ๋ฅผ ๋“ค๊ณ , ๋ฏธ๊ตญ์—์„œ ๊ผฝ์œผ๋ ค๊ณ  ํ•˜๋‹ˆ, ๋‹จ์ž๊ฐ€ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฏธ๊ตญ์˜ ์ „๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, 110V์— ๋งž๋Š” ๋‹จ์ž๋ฅผ ๊ผฝ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ํ•œ๊ตญ์˜ ์ถฉ์ „๊ธฐ๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ๋ฏธ๊ตญ์˜ ์ถฉ์ „๊ธฐ๋ฅผ ์ƒˆ๋กœ ์‚ฌ์ง€ ์•Š๊ณ , ์–ด๋Œ‘ํ„ฐ(Adapter, ๋ณ€ํ™˜๊ธฐ)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์€ ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ๊ธฐ์กด ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€ํ™˜ํ•ด ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ๊ธฐ์กด ํด๋ž˜์Šค๋Š” ํ•œ๊ตญ์˜ 220V ์ถฉ์ „๊ธฐ์™€ ๋™์ผํ•˜๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€ํ™˜ํ•ด ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋Œ‘..

    [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด(2) - ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)

    ๐Ÿ 1. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)์ด๋ž€? ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€, ์–ด๋– ํ•œ ํด๋ž˜์Šค(๊ฐ์ฒด)๊ฐ€ ์œ ์ผํ•˜๊ฒŒ ๋‹จ ํ•œ ๊ฐœ๋งŒ ์กด์žฌํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์„œ๋กœ ์ž์›์„ ๊ณต์œ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ๋‹จ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€ ๋””์ž์ธ ํŒจํ„ด ์ค‘์—, '์ƒ์„ฑ' ํŒจํ„ด์— ์†ํ•ฉ๋‹ˆ๋‹ค. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ํ†ตํ•ด ๋‹จ ํ•œ ๋ฒˆ์˜ ์ƒ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ ์˜ˆ์‹œ๋กœ๋Š” TCP socket ํ†ต์‹ ์—์„œ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ๋œ connect ๊ฐ์ฒด์— ์ฃผ๋กœ ์‚ฌ์šฉํ•ด์„œ ํ•œ ์†Œ์ผ“์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. TCP ์—ฐ๊ฒฐ์„ ํ•  ๋•Œ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ํ•œ ๋ฒˆ ์—ด๋ ค์žˆ๋Š” ์†Œ์ผ“์„ ์žฌํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€, ์š”์ฒญ๋งˆ๋‹ค ๊ณ„์† connection์„ ๋งบ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์—์„œ 'Bean'์ด๋ผ๊ณ  ..

    [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด(1) - ๋””์ž์ธ ํŒจํ„ด์€ ๋ฌด์—‡์ธ๊ฐ€?

    ๐Ÿ 1. ๋””์ž์ธ ํŒจํ„ด(Design Pattern)์ด๋ž€? ๋””์ž์ธ ํŒจํ„ด์€ ๋„๋Œ€์ฒด ๋ฌด์—‡์ธ๊ฐ€? ๊ฐœ๋ฐœ์— ๋Œ€ํ•ด ๊นŠ์€ ๊ด€์‹ฌ์„ ๊ฐ–๋‹ค๋ณด๋ฉด, ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ์ฏค์€ '๋””์ž์ธ ํŒจํ„ด'์ด๋ผ๋Š” ๋ง์„ ๋“ค์–ด๋ดค์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„๋Œ€์ฒด ๋””์ž์ธ ํŒจํ„ด์ด๋ž€ ๋ฌด์—‡์ด๊ณ , ์ด๋ฅผ ํ•™์Šตํ•˜๋ฉด ์–ด๋–ค ์žฅ์ ์ด ์žˆ์„๊นŒ์š”? ๋””์ž์ธ ํŒจํ„ด์€ "์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์„ค๊ณ„ ํŒจํ„ด์„ ์ •ํ˜•ํ™” ํ•ด์„œ ์ด๋ฅผ ์œ ํ˜•๋ณ„๋กœ ๊ฐ€์žฅ ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •ํ•ด๋‘” ์„ค๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜"๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ๋‹ต์„ ์ฐพ๋Š” ์ •๋‹ต์ด ์žˆ๋Š” ํ˜•ํƒœ์ด์ง€๋งŒ, ๋””์ž์ธ ํŒจํ„ด์€ ๋ช…ํ™•ํ•œ ์ •๋‹ต์ด ์žˆ๋Š” ํ˜•ํƒœ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ์˜ ์ƒํ™ฉ์— ๋งž์ถฐ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ๋Š” ๊ธฐ์กด์˜ ๊ฒฝํ—˜์ด ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜์ง€๋งŒ, ๋‰ด๋น„๋Š” ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ ์ž ๋‚˜์˜จ ๊ฒƒ์ด Go..

    [์ž๋ฃŒ๊ตฌ์กฐ] Priority Queue (์šฐ์„ ์ˆœ์œ„ ํ) ์ธํ„ฐ๋ทฐ ๋Œ€๋น„

    ๐Ÿ’ก 1. ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)๋ž€? ์šฐ์„  'ํ'๋Š” ์„ ์ž…์„ ์ถœ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ํ์— ๋“ค์–ด์˜จ ์ˆœ์„œ๋ฅผ ์šฐ์„ ์ˆœ์œ„๋กœ ๊ฐ–๋Š” ํ์ธ ๊ฒƒ์ด๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋จผ์ € ๋“ค์–ด์˜จ ์ˆœ์„œ๋Œ€๋กœ ๋น ์ ธ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ ๋‚ด๋ถ€์˜ ์›์†Œ ์ค‘ ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์š”์†Œ๋ถ€ํ„ฐ ๋น ์ ธ ๋‚˜์˜ค๋Š” ํ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๐Ÿ’ก 2. ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์„ธ ๊ฐ€์ง€์ด๋‹ค. ๊ฐ๊ฐ ๋ฐฐ์—ด(Array), ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(LinkedList), ํž™(Heap)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ๋ฐ ๊ทธ ์ค‘ ์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Heap์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์™œ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ Heap์„ ์‚ฌ์šฉํ•˜๋Š” ์ง€๋Š” ๋ฐ”๋กœ ์‹œ๊ฐ„๋ณต์žก๋„์— ์žˆ๋‹ค. ๋‹ค์Œ์€ ๊ฐ๊ฐ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค..

    [์ž๋ฃŒ๊ตฌ์กฐ] Stack๊ณผ Queue์˜ ๋น„๊ต (์ธํ„ฐ๋ทฐ ๋Œ€๋น„)

    [์ž๋ฃŒ๊ตฌ์กฐ] 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๊ฐ€ ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ..

    [๊ฐœ๋ฐœ๊ณตํ†ต] Call by value์™€ Call by reference (Java, Python, C/C++)

    [๊ฐœ๋ฐœ๊ณตํ†ต] Call by value์™€ Call by reference (Java, Python, C/C++)

    ๐Ÿ 1. Call by value์™€ Call by reference๋ž€? Call by value์™€ Call by reference๋Š” ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๊ธฐ์ˆ ๋ฉด์ ‘์—์„œ๋„ ์ž์ฃผ ๋‚˜์˜ฌ๋งŒํผ ๊ธฐ์ดˆ์ ์ด๋ฉด์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋‹ค. ํ•„์ž๋„ ๋ชจ ์ธํ„ฐ๋ทฐ ์ค‘ ํ•ด๋‹น ์งˆ๋ฌธ์„ ๋ฐ›์€ ์ ์ด ์žˆ๋Š”๋ฐ, ๋ฉด์ ‘ ์ค€๋น„๋„ ์ž˜ ๋˜์ง€ ์•Š์•˜๊ณ  ๋‹นํ™ฉํ–ˆ๋˜ ํ„ฐ๋ผ ๋ถ€์กฑํ•˜๊ฒŒ ๋Œ€๋‹ตํ–ˆ๋˜ ๊ฒฝํ—˜์ด ์žˆ๋‹ค. ์ด๋Ÿฐ ์ผ์ด ๋‹ค์‹œ๋Š” ์—†๋„๋ก ์ œ๋Œ€๋กœ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์ž. ๋ฉ”์†Œ๋“œ์˜ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ ธ์žˆ๋‹ค. (๋ฌผ๋ก  ์ˆ˜๋งŽ์€ ์ธ์ž ์ „๋‹ฌ ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ, ๋Œ€ํ‘œ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋‘ ๊ฐ€์ง€๋ฅผ ์˜๋ฏธํ•จ.) ํ•˜๋‚˜๋Š” Call by Value๋กœ, ์ง์—ญํ•˜๋ฉด ๊ฐ’์— ์˜ํ•œ ์ „๋‹ฌ์— ํ•ด๋‹นํ•œ๋‹ค. ์‹ค์ œ ๊ฐ’(caller)๊ณผ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ฐ’(callee)์ด ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์—์„œ ์‹ค์ œ ์„œ๋กœ ๋™์ผํ•˜์ง€ ์•Š๊ณ  ๊ฐ’์„ ๋ณต..

    [Algorithm] ํž™ ์ •๋ ฌ (Heap Sort)

    [Algorithm] ํž™ ์ •๋ ฌ (Heap Sort)

    ํž™ ์ •๋ ฌ (Heap Sort) ํž™ ์ •๋ ฌ์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(NlogN)์ธ ์ •๋ ฌ์œผ๋กœ, ๋ฒ„๋ธ” / ์„ ํƒ / ์‚ฝ์ž… ์ •๋ ฌ์— ๋น„ํ•ด ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์šฐ์„  ํž™ ์ •๋ ฌ์„ ์‚ดํŽด๋ณด์ž. ํž™์€ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์ด 'Heap' ์ž๋ฃŒ๊ตฌ์กฐ์˜ ํŠน์„ฑ์„ ํ™œ์šฉํ•œ ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. ํž™์€ ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ์˜ ์ผ์ข…์œผ๋กœ, ์—ฌ๋Ÿฌ ๊ฐ’๋“ค ์ค‘์—์„œ ์ตœ์†Ÿ๊ฐ’ ํ˜น์€ ์ตœ๋Œ“๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ํž™์€ ๋Š์Šจํ•œ ์ •๋ ฌ ์ƒํƒœ(๋ฐ˜ ์ •๋ ฌ ์ƒํƒœ)๋ฅผ ์œ ์ง€ํ•˜๊ณ , ์ด๋ฅผ ์‰ฝ๊ฒŒ ํ’€์ดํ•˜๋ฉด ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ(์ž‘์€) ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค. ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํฐ ์ง€, ์ž‘์€ ์ง€์— ๋”ฐ๋ผ ํž™์˜ ์ข…๋ฅ˜๊ฐ€ ๋‚˜๋‰œ๋‹ค. - ์ตœ๋Œ€ ํž™ (Max Heap) : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํฐ ํž™ → ๋ฃจํŠธ ..