카테고리 없음

[Java] 프로그래머스 - 위장 (해시) 문제 풀이 정답 답안

dev-seongsu 2022. 2. 26. 12:14
import java.util.*;

class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;
        
        //해쉬맵 선언
        HashMap<String, Integer> clothesMap = new HashMap<>();
        
        //의상 종류별 가짓수 카운트 저장
        for(int i = 0; i < clothes.length ; i++) {
            clothesMap.put(clothes[i][1], clothesMap.getOrDefault(clothes[i][1], 0) + 1 );
        }
        
        //카운트한 결과로 경우의 수 계산
        Set<String> keySet = clothesMap.keySet();
        
        for(String key: keySet ) {
            //의상 종류별로 의상 n개 중에 하나인 경우 + 선택안한 경우
            answer *= clothesMap.get(key) + 1;
        }
        
        answer -= 1; //하나도 선택 안한 경우 
        
        
        return answer;
    }
}