자바/알고리즘 문제 풀이

프로그래머스2/위장 / Hash

backend dev 2023. 3. 28.

https://school.programmers.co.kr/learn/courses/30/lessons/42578

 

values는 collection으로 , keySet은 set으로 반환되지만

그냥 바로 받아서 사용가능

 

+ 조합의 경우의 수를 잘생각해야한다.

import java.util.*;
import java.util.Map.*;

class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;
        Map<String,Integer> map = new HashMap<>();
        
        for(String[] cloth : clothes)
        {
            String category = cloth[1];
            map.put(category,map.getOrDefault(category,0)+1);
        }
        System.out.println(map);

        
        for(int count : map.values())
        {
            answer *= (count+1);
        }
        
        
        return answer-1;
    }
}

/*
Map<카테고리,갯수>로 정리 한 후 

각 카테고리 갯수+1 를 서로 곱해준다. 그리고 하나도 입지않는경우를 빼준다 (-1)

*/

 

댓글