ํ
[PGM_42626] ๋ ๋งต๊ฒ (Java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42626# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ๋งต๊ฒ ๋งค์ด ๊ฒ์ ์ข์ํ๋ Leo๋ ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ธฐ ์ํด Leo๋ ์ค์ฝ๋น ์ง์๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ ๊ฐ์ ์์์ ์๋์ ๊ฐ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Heap ์ฒ์์๋ ๊ทธ๋ฅ ๋จ์ํ๊ฒ ์ด๊ธฐ ์ ๋ ฌ ํ ์ฝ์ ์ ๋ ฌ๋ก ๊ฐ์ ๊ณ์ ๋ฃ์ด์ฃผ์๋๋ฐ ํจ์จ์ฑ์์ 0์ ์ ๋ฐ์๋ค. ๊ณฐ๊ณฐํ ์๊ฐํด๋ณด๋ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ก Heap์ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐ๋์ด Heap์ ์ฌ์ฉํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ์๋ค. ๋ ๋งต๊ฒ ๋ฌธ์ ๋ ๋งค์ด๋ง์ ๋ํ ๋ฐฐ์ด๊ณผ ๋งค์ด ๊ฐ๋ K๊ฐ์ด input์ผ๋ก ์ฃผ์ด์ง๋ค. ..
์๋ฐ์์ Heap ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
Java์์ Heap ์ฌ์ฉํ๊ธฐ Java์์๋ Collection์ผ๋ก Heap์ด ์๋ค. ํ์ง๋ง Max-Heap๊ณผ Min-Heap์ Primary Queue๋ฅผ ํ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค. ์ด๋ฒ ์๊ฐ์๋ Primary Queue๋ฅผ ํ์ฉํด Heap์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ณ ์ ํ๋ค. Heap์ด๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ ๊ฐ๋ค์ด ๋ชจ์ฌ์๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํธ๋ฆฌ๋ก ๊ตฌํํ์๋ค๊ณ ํ ๋, ๋ฃจํธ์ ์์นํ๋ ๊ฐ์ด ์ต๋ ํน์ ์ต์๊ฐ์ด ๋๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค. ์ต์ ํ ์ฌ์ฉํ๊ธฐ ์ต์ํ์ ์ฌ์ฉํ๋ ๊ฒ์ Primary Queue๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค. PriorityQueue minHeap = new PriorityQueue(); ์ด๋ ๊ฒ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด remove๋๋ peek์ ๊ฐ์ด minHeap์ ์ต์๊ฐ์ด ๋๋ค. Prim..