Tags
- stack
- ๊น์ด ์ฐ์ ํ์
- Python
- ์ํ
- sort
- PGM
- ๋ฌธ์์ด
- CodingTest
- dfs
- queue
- SpringBoot
- Study
- greedy
- ๊ต์ฌ
- BFS
- ์๋ฃ๊ตฌ์กฐ
- ์ ๋ ฌ
- Dynamic Programming
- ์ ์๋ก
- ๊ตฌํ
- Brute Force Algorithm
- LV2
- ๊ทธ๋ํ ์ด๋ก
- ๋ฐฑํธ๋ํน
- BOJ
- DP
- ์๋ฎฌ๋ ์ด์
- ๊ทธ๋ํ ํ์
- Java
- ๋๋น ์ฐ์ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
Lv.1 : ํฐ์ผ๋ชฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- intํ ๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ์ข ๋ฅ๋ณ ๊ฐฏ์๋ฅผ ์ผ๋ค.
- ์ข ๋ฅ๊ฐ ์ ๋ ฅ๋ ๋ฐฐ์ด์ 1/2 ํฌ๊ธฐ ๋ณด๋ค ์์ผ๋ฉด ์ข ๋ฅ์ ์๋ฅผ, ์๋๋ฉด ๋ฐฐ์ด์ 1/2 ๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.HashMap;
class Solution {
public int solution(int[] nums) {
HashMap<Integer, Integer> poket = new HashMap<Integer,Integer>();
for (int i : nums){
if(poket.containsKey(i)){
poket.put(i,poket.get(i)+1);
}
else{
poket.put(i,1);
}
}
if(nums.length/2 > poket.size()){
return poket.size();
}
else{
return nums.length/2;
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ค๋ณตํ ์ซ์๋ณ ๊ฐฏ์๋ฅผ ์ธ๊ธฐ์ํด HashMap์ ์ฌ์ฉํ๋ค.
- ์ฒซ ๋ฑ์ฅํ key๋ value๋ฅผ 1๋ก ์ถ๊ฐํ๊ณ , ์ด๋ฏธ ๋์๋ key๋ value๋ฅผ 1์ถ๊ฐํ๋ค.
- ์
๋ ฅ๋ ๋ฐฐ์ด์ 1/2ํฌ๊ธฐ๋ณด๋ค key์ข
๋ฅ๊ฐ ์์ผ๋ฉด ํค์ข
๋ฅ์ ์๋ฅผ, ํฌ๋ฉด ๋ฐฐ์ด์ 1/2ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅํ๋ค.
- key์ข ๋ฅ๊ฐ ๋ ์์ผ๋ฉด : ๋ชจ๋ ํฐ์ผ๋ชฌ ์ข ๋ฅ๋ฅผ ์ ํ ๊ฐ๋ฅ
- key์ข ๋ฅ๊ฐ ๋ ๋ง์ผ๋ฉด : ์ ๋ ฅ ๋ฐฐ์ด์ 1/2 ๋งํผ ์ ํ ๊ฐ๋ฅ
๐ธ end ๐ธ
- ํ๊ณ ๋ณด๋ ์ด๋ ต์ง ์์ ๋ฌธ์ ์์ง๋ง, ๋ฌธ์ ๋ฅผ ์ ์ดํดํ์ง ๋ชปํด์ ๋ฌด์์ ํด์๋ฅผ ์ ์ฉํ๋ ค๋ค๋ณด๋ ์ด๋ ต๊ฒ ํผ ๊ฒ ๊ฐ๋ค.
- ์ด ๋ฌธ์ ๋ HashMap์ด ์๋๋ผ HashSet๋ง ์ฌ์ฉํด๋ ํ์ด๊ฐ ๊ฐ๋ฅํ๋ค. (ArrayList๋ ๊ฐ๋ฅํ๋ค)
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 : ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (0) | 2022.08.18 |
---|---|
Lv.1 : ์ฝ์์ ๊ฐ์์ ๋ง์ (0) | 2022.08.17 |
Lv.1 : ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.08.02 |
Lv.1 : ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2022.08.02 |
Lv.1 : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.08.02 |