문제
https://programmers.co.kr/learn/courses/30/lessons/42578
풀이
의상을 입는 조합의 수를 구하는 문제이다.
종류에 따른 의상 수를 구한다. HashMap<String, Integer> 이용
얼굴 - 2
상의 - 1
하의 - 1
겉옷 - 1
조합의 수는 각 의상 수를 곱해주면 되는데, 의상을 입지 않는 경우의 수가 있으므로 +1을 한 후 곱한다.
3 * 2 * 2 * 2 = 24
의상을 최소 한 개는 입어야 한다는 조건이 있으므로
여기서 의상을 모두 안입는 경우의 수 (-1)를 빼줘야 한다.
24 - 1 = 23
아래 백준 문제와 풀이가 동일하다.
2021.11.11 - [Problem Solving/BOJ] - [BOJ 9375] 패션왕 신해빈 (Java)
소스코드
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 0;
HashMap<String, Integer> hm = new HashMap<String, Integer>();
for(String[] clothe : clothes){
String key = clothe[1];
hm.put(key, hm.getOrDefault(key, 0) + 1);
}
if(hm.size() > 0) answer = 1;
for(String key : hm.keySet()){
answer *= (hm.get(key) + 1);
}
return answer-1;
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 방금그곡 (Java) (0) | 2021.11.23 |
---|---|
[프로그래머스] 캐시 (Java) (0) | 2021.11.22 |
[프로그래머스] 실패율 (Java, Python) (0) | 2021.11.18 |
[프로그래머스] 단체사진 찍기 (Java) (0) | 2021.11.18 |
[프로그래머스] 디스크 컨트롤러 (Java) (0) | 2021.11.17 |