SMALL

๋ชฉ๋ก์ž๋ฃŒ๊ตฌ์กฐ (2)

You are a developer, not a coder.

Heap ์—๋Œ€ํ•ด์„œ

์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ Goal ์šฐ์„  ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ, ํž™(heap)์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค. ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ํž™(heap)์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํž™(heap)์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๋ฅผ ์ดํ•ดํ•œ๋‹ค. [๋“ค์–ด๊ฐ€๊ธฐ ์ „] ์šฐ์„ ์ˆœ์œ„ ํ: ์šฐ์„ ์ˆœ์œ„์˜ ๊ฐœ๋…์„ ํ์— ๋„์ž…ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋“ค์ด ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ„๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ด์šฉ ์‚ฌ๋ก€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ œ์–ด ์šด์˜ ์ฒด์ œ์—์„œ์˜ ์ž‘์—… ์Šค์ผ€์ฅด๋ง ์ˆ˜์น˜ ํ•ด์„์ ์ธ ๊ณ„์‚ฐ ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋ฐฐ์—ด, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, ํž™ ์œผ๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ์ค‘์—์„œ ํž™(heap)์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ์œจ์ ์ด๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ ‘ํž™(heap)’์ด๋ž€? ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์˜ ์ผ์ข…์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’..

Development Basic 2020. 6. 3. 23:59
Queue์— ๋Œ€ํ•ด์„œ

java๋กœ ํ(Queue)๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. Goal ํ(Queue)์˜ ๊ธฐ๋ณธ ์—ฐ์‚ฐ์„ ์ดํ•ดํ•œ๋‹ค. java๋กœ ํ(Queue)๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ(Queue)์˜ ๊ฐœ๋… ์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ํ•œ๊ฐ€์ง€๋กœ, ๋จผ์ € ์ง‘์–ด ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” FIFO(First In First Out)๊ตฌ์กฐ๋กœ ์ €์žฅํ•˜๋Š” ํ˜•์‹ ํ(Queue)์˜ ์—ฐ์‚ฐ ํ(Queue)๋Š” FIFO(First-In-First-Out) ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. add(item): item์„ ๋ฆฌ์ŠคํŠธ์˜ ๋๋ถ€๋ถ„์— ์ถ”๊ฐ€ํ•œ๋‹ค. remove(): ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ๋‹ค. peek(): ํ์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. isEmpty(): ํ๊ฐ€ ๋น„์–ด ์žˆ์„ ๋•Œ์— true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํ(Queue)์˜ ๊ตฌํ˜„ ํ(Queue)๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ..

Development Basic 2020. 6. 3. 23:58
LIST