์ ์ฒด ๊ธ
![[PGM_43165] ํ๊ฒ ๋๋ฒ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzQORp%2FbtruDDvJ5rP%2FZ4YvX9SjlZpRIvAXzo9Emk%2Fimg.png)
[PGM_43165] ํ๊ฒ ๋๋ฒ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค - ์ฌ๊ท 2021.11.02 - [CordingTest/Algolithm] - ๋ธ๋ฃจํธํฌ์ค(2) ์ฌ๊ท ๋ฐฐ์ด๊ณผ ํ๊ฒ๋๋ฒ ๋๊ฐ์ ์ธํ์ด ๋ค์ด์จ๋ค. ์ด ๋ ๋ฐฐ์ด์ ๊ฐ์ ์ ๋นํ + ํน์ -๋ก ๋ฃ์ด์ฃผ์ด ๋ํด์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง์กฑ์ํค๋ ๊ฒฝ์ฐ์์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ฐฐ์ด์ ๊ฐ์๊ฐ ์ต๋ 20๊ฐ ..
![[PGM_42626] ๋ ๋งต๊ฒ (Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcT7Nfq%2FbtruHwoZ0a6%2Fel8bThKhBNjk18P7Tg4VyK%2Fimg.png)
[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์ผ๋ก ์ฃผ์ด์ง๋ค. ..
![[PGM_42626] ๋ ๋งต๊ฒ (Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGte0p%2FbtruHxIfpKN%2FkbzHZPkjPHaeOykkCFCzck%2Fimg.png)
[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 ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFVIuE%2FbtruIUQGrII%2FZGkwelhoDMbeHDW0ZKbCo1%2Fimg.png)
์๋ฐ์์ 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..