* 오늘의 학습 키워드 : 조합
- n 개의 숫잦 중에서 r 개의 수를 순서 없이 뽑는 경우를 말한다.
* 프로그래머스 의상 : https://school.programmers.co.kr/learn/courses/30/lessons/42578
- 완전 탐색으로 풀려고 했는데 생각처럼 풀지 못했다. 다른 분들이 푼 방법을 통해 해결할 수 있었다.
class Solution {
public int solution(String[][] clothes) {
Map<String, String> map = new HashMap<>();
int answer = 1;
//map에 의상의 종류에 몇개의 옷이 있는지 넣어준다.
for(int i = 0; i < clothes.length; i++){
map.put(clothes[i][1], map.getOrDefault(clothes[i][1],0),+1);
}
//map의 key값의(의상의 종류) 의상 수를 answer에 곱해준다.
for(String key : map.keySet()) {
answer *= map.get(key) + 1);
}
//의상을 안 입는 경우도 조합에 포함되기 때문에 이 부분은 다시 빼준다.
answer -= 1;
return answer;
}
}
* 알게된 것
1) getOrDefault는 지정된 키로 매핑된 값이 없거나 null이면 반환하는 기본 값이다.
References
'TIL' 카테고리의 다른 글
[TIL] 백준 1326 - 폴짝폴짝 ( python ) (0) | 2025.03.03 |
---|---|
[TIL] 백준 4779 칸토어 집합 (1) | 2024.09.08 |
[TIL] 99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드 (0) | 2024.06.12 |
[TIL] 99클럽 코테 스터디 21일차 TIL + 오늘의 학습 키워드 (1) | 2024.06.10 |
[TIL] 99클럽 코테 스터디 1일차 TIL + 오늘의 학습 키워드 (0) | 2024.05.21 |