์ฐ์ ์์ ํ "Priority Queue"๋ ๋ง ๊ทธ๋๋ก ์ฐ์ ์์๊ฐ ์กด์ฌํ๋ ํ์ด๋ค.
ํ๋ FIFOํน์ฑ์ ๊ฐ์ง๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋จผ์ ๋ค์ด์จ ๊ฒ์ ๋จผ์ ๋ด๋ณด๋ด๋ ๊ตฌ์กฐ์ด๊ณ ์ฐ์ ์์ ํ๋ ์ด๋ฌํ ํ์ ํน์ฑ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ์ฌ
์ฐ์ ์์์ ๋ํด ๋จผ์ ๋ด๋ณด๋ด๋ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
Java์์๋ ์ด๋ฌํ Queue๋ Priority Queue๋ฅผ ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค.
์๋์ ์ฝ๋์ ํจ๊ป ์์๋ฅผ ๋ณด๊ฒ ์ง๋ง, ๊ฐ๋จํ๊ฒ add๋ฅผ ํตํด ์ ๋ ฅ๋ฐ๊ณ peek๋ฅผ ํตํด ์ฐ์ ์์๊ฐ ์ ์ผ ๋์ ๊ฐ์ ์ถ๋ ฅํ๊ณ
remove๋ฅผ ํตํด ์ถ๋ ฅ๊ณผ ์ญ์ ๋ฅผ ํ ์ ์๋ค.
์ฐ์ ์์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ณด๊ธฐ์ํด์ "๋ฐฑ์ค 1655๋ฒ ๊ฐ์ด๋ฐ๋ฅผ ๋งํด์" ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค.
ํด๋น ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฌธ์ ๋ฅผ ํผ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
์ ๋ ฅ๊ฐ์ด ์ฃผ์ด์ง๋๋ง๋ค์ ๊ฐ์ด๋ฐ ๊ฐ์ ๊ตฌํด์ผํ๋ ๊ฑด๋ฐ ์ฐ์ ์์ ํ์ธ Priority Queue๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๊ฐ์ ๋ฐ์ ๊ธฐ์ค์ผ๋ก
์์ ๊ฐ๋ค์ ๋ชจ์์ธ minQueue๋ฅผ ์ ์ธํ๊ณ , ํฐ ๊ฐ๋ค์ ๋ชจ์์ธ maxQueue๋ฅผ ์ ์ธํ์ฌ
minQueue์์ ์ ์ผ ํฐ ๊ฐ๊ณผ maxQueue์์ ์ ์ผ ์์ ๊ฐ์ ๋น๊ตํ์ฌ ๋ค๋ฅธ queue๋ก ์ฎ๊ฒจ์ค์ง ์ ํ๋ค.
maxQueue์ minQueue์ ํฌ๊ธฐ๋ฅผ ๋ค์ ๋น๊ตํ์ฌ minQueue์ ์ฌ์ด์ฆ๊ฐ maxQueue์ ์ฌ์ด์ฆ๋ณด๋ค ํ๋ ํฌ๊ฑฐ๋ ๊ฐ์ง ์์ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด ๋ ํฐ ์ฌ์ด์ฆ์ ํ์์ ํ๋ removeํด์ ๋ค๋ฅธ ํ๋ก ๊ฐ์ ์ฎ๊ฒจ์ค๋ค.
์ฐ์ ์์ ํ๋
'์๊ณ ๋ฆฌ์ฆ > ์๋ฃ๊ตฌ์กฐ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HashMap - ์๋ฃ๊ตฌ์กฐ (0) | 2024.06.20 |
---|---|
Array(๋ฐฐ์ด) - (์ ํ)์๋ฃ๊ตฌ์กฐ (0) | 2024.06.19 |
Queue - ์ ํ ์๋ฃ๊ตฌ์กฐ (0) | 2024.06.18 |
Stack - (์ ํ)์๋ฃ๊ตฌ์กฐ (0) | 2024.06.18 |
์ ํ์๋ฃ๊ตฌ์กฐ - ๋ฐํฌ (0) | 2023.08.05 |