728x90
반응형
📜 문제 내용
🤔 과정
- 각 종류별 갯수를 구하고 모두 곱해 1 (모든 의상을 안 입는 경우) 를 빼서 조합의 수를 구하는 문제로 파악
- 의상의 이름은 중요치 않고, 종류의 수를 구해야하므로 HashMap을 사용해 key 는 의상 종류, value 는 갯수로 해야겠다고 판단
✨ 최초 제출 답안
import java.util.*;
import java.io.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
Map<String, Integer> mapCategory = new HashMap<>();
// 의상 종류에 따른 갯수 세기
for(int i = 0; i < clothes.length; i++){
mapCategory.put(clothes[i][1], mapCategory.getOrDefault(clothes[i][1], 0) + 1);
}
// key 데이터를 순회하면서 각 의상 종류의 갯수에 따른 계산
// {의상 갯수 + 1(안 입는 경우)} 를 다 곱하면 조합의 수 도출
for(String key : mapCategory.keySet()){
answer *= mapCategory.get(key) + 1;
}
// 의상을 모두 안 입는 조건인 1 빼기
return answer - 1;
}
}
- 수학 문제에 가까웠고, HashMap 복습을 진행했다.
🔗 문제 링크
728x90
반응형