https://programmers.co.kr/learn/courses/30/lessons/42578
import java.io.*;
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> hashMap = new HashMap<>();
for (int i = 0; i < clothes.length; i++) {
hashMap.put(clothes[i][1], hashMap.getOrDefault(clothes[i][1], 0) + 1);
}
for (int value : hashMap.values()) {
answer *= (value + 1);
}
return answer - 1;
}
}
우선 hashMap
에 <의상의 종류, 종류에 속한 의상의 개수> 형태로 저장한다.
"같은 종류에서 하나 고르는 경우" or "하나도 고르지 않는 경우" 가 있기 때문에 hashMap
에 들어있는 value를 꺼내서 answer에 value+1
값을 모두 곱해준다.
마지막에 의상을 하나도 안 고르는 경우는 없기 때문에 answer-1
을 리턴한다.