|
์ฝ๋ ์์ฑํ๊ธฐ
import java.util.HashSet;
public class Programmers_hash {
public static int solution(int[] nums) {
HashSet set = new HashSet();
// 2.
for (int num : nums) {
set.add(num);
}
// 1. 3.
return nums.length / 2 > set.size() ? set.size() : nums.length / 2;
}
public static void main(String[] args) {
System.out.println(solution(new int[]{3,1,2,3})); // 2
System.out.println(solution(new int[]{3,3,3,2,2,4})); // 3
System.out.println(solution(new int[]{3,3,3,2,2,2})); // 2
}
}
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
โข
๋ฌธ์ ๋ฅผ ์ดํดํ๋๋ฐ ๋ ๋ง์ ์๊ฐ์ด ํ์ํ๋ ๋ฌธ์ .
โ ์ต๋ (ํฐ์ผ๋ชฌ ์)N/2 ๋งํผ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ๊ฐ ์ ์๋๋ฐ, ์ข
๋ฅ๊ฐ ๋ถ์กฑํ๋ฉด ์ต๋ ๊ฐ์ ธ๊ฐ ์ ์๋ ํฐ์ผ๋ชฌ ์๊ฐ ์ค์ด๋ ๋ค.
ex)
< ์ฝ๋ ์ค๋ช
>
1. ๊ฐ์ง ์ ์๋ ํฐ์ผ๋ชฌ ์ ๊ตฌํ๊ธฐ (num.length)
2. ํฐ์ผ๋ชฌ ์ข
๋ฅ ๊ตฌํ๊ธฐ (set ์ฌ์ฉ)
3. ํฐ์ผ๋ชฌ ์/2 > ํฐ์ผ๋ชฌ ์ข
๋ฅ ? ํฐ์ผ๋ชฌ ์ข
๋ฅ : ํฐ์ผ๋ชฌ ์/2