1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
Map<String, Integer> map = new HashMap<String, Integer>();
// 옷 종류에 따른 갯수 저장
for (int i = 0; i < clothes.length; i++) {
map.put(clothes[i][1], map.getOrDefault(clothes[i][1], 0) + 1);
}
// 나올 수 있는 조합의 수 계산
for (String k : map.keySet())
answer *= (map.get(k) + 1);
answer--;
return answer;
}
}
|
cs |
각각의 옷 종류에 따른 개수를 곱해주면 해당 옷으로 나올 수 있는 경우의 수가 된다.
이 때 안 입는 경우도 있으므로 곱할 때 +1을 한 후 곱해주며, 모두 안 입는 경우가 1개 존재하기 때문에 마지막에 감소시켜준다.