728x90
⬛ 프로그래머스 | LV.2 의상 - HashMap & 경우의 수 문풀
💚나의 풀이
- 문제에서 최소 1개의 옷은 입는다고 되어있다. (= 모두 안입는 경우는 없다)
- 종류별로 입는 옷이 겹치면 안되고, 종류별로 각 1개의 옷만 걸칠 수 있다.
- 각 종류별로 옷을 겹치지 않게 1개씩 뽑거나 + 아예안뽑거나의 경우가 생긴다.
- 그리고 그 경우는 최소 1번의 사건에서 동시에 일어난다.
- 경우의 수 문제로 생각해서 수식까지 끌어내야 하는 문제였다.
💚 제출 코드
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
Map<String, Integer> map = new HashMap<>();
for(String[] x : clothes){
String name = x[0];
String type = x[1]; //key로 두고
map.put(type, map.getOrDefault(type, 0) + 1);
}
int value = 1;
int answer = 0;
for(String key : map.keySet()){
value *= (map.get(key) + 1);
}
answer = value -1;
return answer;
}
}
728x90
'코딩 테스트 [준비] > [문풀] 프로그래머스_문풀_조지기' 카테고리의 다른 글
프로그래머스 | LV.2 피로도 - 완전 탐색, DFS 문풀 (Java) (35) | 2023.12.21 |
---|---|
프로그래머스 | LV.2 괄호 회전하기 - Stack 활용 문풀 (Java) (1) | 2023.12.19 |
프로그래머스 | LV.2 예상 대진표 - 단순 구현 문풀 (Java) (2) | 2023.12.11 |
프로그래머스 | LV.2 영어 끝말잇기 - HashMap 활용 (Java) (3) | 2023.12.06 |
프로그래머스 | LV.2 짝지어 제거하기 - Stack 활용 (Java) (5) | 2023.12.04 |