728x90
집합 A,B,... ,N들의 조합의 수
(A의 개수+1) * (B의 개수+1) * ... * (N의 개수 +1) - 1(공집합)
집합의 개수에서 1을 더하는 이유는 집합의 원소에서 null을 하나 더하는 것과 같다
마지막에 공집합으로 -1을 빼는 이유는 A,B,...,N의 집합들에 임의로 넣은 null의 원소들로만
이루어진 경우의 수를 빼는거임
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
Map<String, Integer> map = new HashMap<>();
for(int i=0; i<clothes.length; i++){
// System.out.println(clothes[i][1]);
String type = clothes[i][1];
map.put(type, map.getOrDefault(type,0)+1);
}
int answer = 1;
for(Map.Entry<String,Integer> e : map.entrySet()){
answer*=(e.getValue()+1);
}
return --answer;
}
}
|
cs |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JAVA] H-Index (정렬, 이진탐색) (0) | 2022.03.31 |
---|---|
[프로그래머스][JAVA] 다리를 지나는 트럭 (큐) (0) | 2022.03.31 |
[프로그래머스][JAVA] 배달 (플로이드 와샬) (0) | 2022.03.27 |
[프로그래머스][JAVA] 괄호 회전하기 (스택, 문자열) (0) | 2022.03.26 |
[프로그래머스][JAVA] 후보키 (비트마스크) (0) | 2022.03.26 |