Strong Root

난이도

 

문제를 보시려면 여기를 클릭

 

 

 

힌트

이거 해시 문제가 아니고 수학문제(경우의수)입니다 ;;;

해시인줄 알고 낚여서 한참 걸렸네요. 만약 고딩으로 돌아간다면 5분 안으로 풀었을 것 같아요.

팩토리얼, 콤비네이션, 퍼무테이션 이런거 쓰는거 아니고 순수 경우의 수 문제입니다.

 

 

 

이하는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.HashMap;
import java.util.Map;
 
public class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;
 
        Map<String, Integer> clothesMap = new HashMap<>();
 
        for (String[] cloth : clothes) {
            Integer count = clothesMap.get(cloth[1]);
 
            if (count == null) {
                clothesMap.put(cloth[1], 1);
            } else {
                clothesMap.put(cloth[1], count + 1);
            }
        }
 
        for (String cloth : clothesMap.keySet()) {
            int count = clothesMap.get(cloth);
            answer *= (count + 1);
        }
 
        answer--;
 
        return answer;
    }
}
cs