https://school.programmers.co.kr/learn/courses/30/lessons/42578
<의상 조합>
각 의상 종류마다 의상 수 + 1 (해당 종류의 의상을 입지 않는 경우 포함)을 곱함
map.getOrDefault
특정 키에 해당하는 값을 가져오되, 해당 키가 맵에 존재하지 않을 경우 기본값을 반환
map.getOrDefault(Object key, V defaultValue)
key: 찾고자 하는 키.defaultValue: 만약 맵에 해당 키가 없을 경우 반환할 기본값.
map.get(key)를 호출해서 해당 키가 존재하면 그 값을 반환defaultValue)를 반환import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> map = new HashMap<>();
// 옷의 종류별로 카운트
for(int i = 0; i < clothes.length; i++){
// map에 옷의 종류를 키로 저장, 기본값은 1 (착용하지 않는 경우 포함)
map.put(clothes[i][1], map.getOrDefault(clothes[i][1], 1) + 1);
}
// 모든 의상 종류의 조합을 계산
for(Integer value : map.values()) {
answer *= value;
}
// 아무것도 입지 않는 경우를 제외해야 하므로 -1
return answer - 1;
}
}