Tags
- ๊ทธ๋ํ ์ด๋ก
- ์ํ
- ์๋ฃ๊ตฌ์กฐ
- stack
- ๊ตฌํ
- SpringBoot
- sort
- ์ ์๋ก
- Dynamic Programming
- Python
- DP
- ๊ทธ๋ํ ํ์
- BFS
- ์๋ฎฌ๋ ์ด์
- PGM
- CodingTest
- ๊น์ด ์ฐ์ ํ์
- Brute Force Algorithm
- ๋ฐฑํธ๋ํน
- BOJ
- ๊ต์ฌ
- dfs
- Java
- Study
- ์ ๋ ฌ
- LV2
- ๋๋น ์ฐ์ ํ์
- ๋ฌธ์์ด
- queue
- greedy
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ๊ทค ๊ณ ๋ฅด๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- k๊ฐ์ ๊ทค์ ์ ํํ ๋, ๊ทค์ ํฌ๊ธฐ ์ข ๋ฅ์ ์ต์๊ฐ์ ๋ฐํํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ๊ทค์ ํฌ๊ธฐ ์ข ๋ฅ์ ๊ฐ๊ฐ์ ๊ทค ๊ฐ์๋ฅผ ์นด์ดํธํ๋ค.
- ๊ทธ๋ฆฌ๋ํ๊ฒ ์ ๊ทผํด์, ๊ทค ๊ฐ์๊ฐ ๋ง์ ์ข ๋ฅ๋ถํฐ k๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค๋ฉด ์ต์ํ์ ์ข ๋ฅ๋ก ์ ํํ ์ ์๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
class Solution {
public int solution(int k, int[] tangerine) {
Map<Integer, Integer> map = new HashMap<>();
for(int i : tangerine) {
if(map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
List<Integer> keySet = new ArrayList<>(map.keySet());
// Value ๊ฐ์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
keySet.sort((o1, o2) -> map.get(o2).compareTo(map.get(o1)));
int answer = 0;
for (Integer key : keySet) {
answer++;
if(map.get(key) <= k) k -= map.get(key);
else k = 0;
if(k == 0)
break;
}
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ๊ทค ์ข ๋ฅ์ ๊ทธ ์ซ์๋ฅผ map์ ์ ์ฅํ๋ค.
- ๊ทค ๊ฐ์๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ค.
- ๊ทค ๊ฐ์๊ฐ ๋ง์ ์ข ๋ฅ๋ถํฐ k๊ฐ๋ฅผ ์ธ๊ณ , ์ ํํ ๊ทค์ ์ข ๋ฅ ์๋ฅผ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- ์ ๋ ฌ๋ฌธ์ ์ง์ ์์ฑํด ๋ฃ๋ ๋ฐฉ๋ฒ์ด ์ค๋๋ง์ด๋ผ์ ํฌ์คํ
์ ์ฐพ์๋ณด์๋ค.
- List.sort()์์ ์ง์ Comparator๋ฅผ ์ค๋ฒ๋ผ์ด๋ํด์ ๋ฃ๋๋ฐฉ๋ฒ๊ณผ ๋๋ค์์ผ๋ก ๋ฃ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ง ๋ง์.
- ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ ์ฐพ์๋ดค๋๋ฐ, ๋ค ๋น์ทํ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2023.09.23 |
---|---|
Lv.2 : ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2023.09.22 |
Lv.2 : ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (0) | 2023.09.17 |
Lv.2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2023.09.16 |
Lv.2 : ์์ ๋์งํ (0) | 2023.09.14 |