프로그래머스에 해쉬 문제 풀다가 조합공식에 넣을 중복되는 원소 갯수 체크하는 방법이 필요했음.

 

샘플 데이터의 카테고리 (headgear, eyewear) 별로 원소 갯수.

String str[][] = 
     {
     {"yellowhat", "headgear"}, 
     {"bluesunglasses", "eyewear"}, 
     {"green_turban", "headgear"}
     };

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
        for(String[] str : clothes) {
        	hashMap.put(str[1], hashMap.getOrDefault(str[1], 0) + 1 );
        }
        System.out.println(hashMap);
        
        
for(Entry<String, Integer> str : hashMap.entrySet())
        {
        	System.out.println("value : " + str.getValue());
        }

 

import java.util.HashSet;
import java.util.Set;
import java.util.Arrays;
class Solution {
	public int[] solution(int[] numbers) {
		int[] answer = {};
		int answers = 0;
		
		Set<Integer> hashset = new HashSet<>();
		
		
		//System.out.println("Size of Array : " + numbers.length);
		
		for (int n = 0; n < numbers.length; n++) // 0 1 2 3 4
		{
			for (int m = n + 1; m <= numbers.length-1; m ++) 
			{
				//System.out.println("Selected Array : " + "["+ n +"]" + "["+ m +"]");
				answers = numbers[n] + numbers[m];
				hashset.add(answers);
			}
		}
		
		answer = new int[hashset.size()];
		
		int j = 0;
		for(int i : hashset)
		{
			answer[j] = i; 
			//System.out.println(i + "=?" + answer[j]);
			j++;
		}
        Arrays.sort(answer);
		return answer;
	}
}