코딩테스트/프로그래머스
[프로그래머스] 폰캣몬
애플쩀
2022. 6. 24. 06:00
package soltest;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
public class Soiution7 {
public static int solution(int[] nums) {
int max=nums.length/2;
int result=0; //뽑은카드수
//중복제거
HashSet<Integer> nSet=new HashSet<>();
for(int num: nums) {
nSet.add(num);
}
//HashSet-> 배열만듬
Object[] objArr=nSet.toArray();
// System.out.println(Arrays.toString(objArr));
for(int i=0; i <objArr.length; i++) {
if(result<nums.length/2) {
result++;
// System.out.println("objArr: "+objArr[i]);
// System.out.println("result: "+ result);
}
}
return result;
}
public static void main(String[] args) {
int a[]= {3,1,2,3};
System.out.println(solution(a));
}
}
다 풀고 답을 보니, 배열로 바꾸는 부분부터 없이
해시셋사이즈가 n/2보다 크다면 n/2를 반환하고
아니라면 해시셋사이즈를 반환하는 방법도 있었다.