|
2 | 2 | import java.util.Map; |
3 | 3 | import java.util.PriorityQueue; |
4 | 4 |
|
5 | | -// [ํ์ด] |
6 | | -// 1. <์ซ์: ๋น๋์>๋ฅผ ์ ์ฅํ๋ HashMap๊ณผ [๋น๋์, ์ซ์]๋ฅผ ์ ์ฅํ๋ PriorityQueue๋ฅผ ์ ์ธํ๋ค. |
7 | | -// 2. HashMap์ ์ซ์๋ณ๋ก ๋น๋์๋ฅผ ํจ๊ป ์ ์ฅํด์ ํด์ํ
์ด๋ธ์ ๋ง๋ ๋ค. |
8 | | -// [์ฐ์ ์์ ํ์ ์ฌ์ฉ๋ ์๋ฃ๊ตฌ์กฐ] |
9 | | -// 1. ๋ณ๋ ํด๋์ค๋ฅผ ์ ์ธ |
10 | | -// 2. ์๊ตฌ์ฌํญ ์๋ฃํ ๋ฐฐ์ด์ ์ ์ธํ๋ค. |
11 | | -// ์ฒ์์๋ ๋ณ๋ ํด๋์ค๋ฅผ ์ ์ธํ๋ค๊ฐ ๊ฐ์ด 2๊ฐ์ด๋ฉฐ ์๊ณ ๋ฆฌ์ฆ ๋ก์ง ์์ฒด๊ฐ ์ด๋ ค์์ int[] ๊ตฌ์กฐ๋ก ํ์ดํ๋ค. |
12 | | -// (์ฃผ๋ก ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ ค์ฐ๋ฉด ๊ฐ๋
์ฑ์ด ๋์๋๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋จ์ํํ๋ ์ต๊ด์ด ์๋ค) |
13 | | -// [์ด๋ ค์ ๋ ์ ] |
14 | | -// 1. ์ฐ์ ์์ ํ๋ ๋งค๋ฒ ์์๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ๋ด๋ถ ์ ๋ ฌ์ ์ํํ๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ ์ํํ๋ฉด์ k๊ฐ๋ฅผ ์ ์งํด์ผ ํ๋ค. |
15 | | -// ๋ํ ๊ธฐ์กด [๋น๋์, ์ซ์]๋ฅผ ๋ฒ๋ ค์ผ๋ง ์ฌ๋ฐ๋ฅธ ๋ต์ ๋์ถํ ์ ์์๋ค. |
16 | | -// 2. [์ซ์, ๋น๋์]๋ก ์ ์ฅํ๋ ๊ฒ๋ง ์๊ฐํ๋๋ ๋ด๋ถ ์ ๋ ฌ์ ์ด๋ป๊ฒ ํ์ง ๋ชปํด์ ๊ต์ฅํ ๊ณ ๋ฏผํ๋ค. ์ ๋ต์ ๋ฐ๋์๋ค. |
17 | | - |
18 | 5 | class Solution { |
19 | 6 | public int[] topKFrequent(int[] nums, int k) { |
| 7 | + // [ํ์ด] |
| 8 | + // 1. <์ซ์: ๋น๋์>๋ฅผ ์ ์ฅํ๋ HashMap๊ณผ [๋น๋์, ์ซ์]๋ฅผ ์ ์ฅํ๋ PriorityQueue๋ฅผ ์ ์ธํ๋ค. |
| 9 | + // 2. HashMap์ ์ซ์๋ณ๋ก ๋น๋์๋ฅผ ํจ๊ป ์ ์ฅํด์ ํด์ํ
์ด๋ธ์ ๋ง๋ ๋ค. |
| 10 | + // [์ฐ์ ์์ ํ์ ์ฌ์ฉ๋ ์๋ฃ๊ตฌ์กฐ] |
| 11 | + // 1. ๋ณ๋ ํด๋์ค๋ฅผ ์ ์ธ |
| 12 | + // 2. ์๊ตฌ์ฌํญ ์๋ฃํ ๋ฐฐ์ด์ ์ ์ธํ๋ค. |
| 13 | + // ์ฒ์์๋ ๋ณ๋ ํด๋์ค๋ฅผ ์ ์ธํ๋ค๊ฐ ๊ฐ์ด 2๊ฐ์ด๋ฉฐ ์๊ณ ๋ฆฌ์ฆ ๋ก์ง ์์ฒด๊ฐ ์ด๋ ค์์ int[] ๊ตฌ์กฐ๋ก ํ์ดํ๋ค. |
| 14 | + // (์ฃผ๋ก ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ ค์ฐ๋ฉด ๊ฐ๋
์ฑ์ด ๋์๋๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋จ์ํํ๋ ์ต๊ด์ด ์๋ค) |
| 15 | + // [์ด๋ ค์ ๋ ์ ] |
| 16 | + // 1. ์ฐ์ ์์ ํ๋ ๋งค๋ฒ ์์๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ๋ด๋ถ ์ ๋ ฌ์ ์ํํ๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ ์ํํ๋ฉด์ k๊ฐ๋ฅผ ์ ์งํด์ผ ํ๋ค. |
| 17 | + // ๋ํ ๊ธฐ์กด [๋น๋์, ์ซ์]๋ฅผ ๋ฒ๋ ค์ผ๋ง ์ฌ๋ฐ๋ฅธ ๋ต์ ๋์ถํ ์ ์์๋ค. |
| 18 | + // 2. [์ซ์, ๋น๋์]๋ก ์ ์ฅํ๋ ๊ฒ๋ง ์๊ฐํ๋๋ ๋ด๋ถ ์ ๋ ฌ์ ์ด๋ป๊ฒ ํ์ง ๋ชปํด์ ๊ต์ฅํ ๊ณ ๋ฏผํ๋ค. ์ ๋ต์ ๋ฐ๋์๋ค. |
| 19 | + |
20 | 20 | int[] answer = new int[k]; |
21 | 21 |
|
22 | 22 | Map<Integer, Integer> map = new HashMap<>(); |
|
0 commit comments