본문 바로가기

Programmers/Level2

위장

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;
        Map<String, Integer> map = new HashMap<String, Integer>();
 
        // 옷 종류에 따른 갯수 저장
        for (int i = 0; i < clothes.length; i++) {
            map.put(clothes[i][1], map.getOrDefault(clothes[i][1], 0+ 1);
        }
        // 나올 수 있는 조합의 수 계산
        for (String k : map.keySet())
            answer *= (map.get(k) + 1);
        answer--;
        return answer;
    }
}
cs

각각의 옷 종류에 따른 개수를 곱해주면 해당 옷으로 나올 수 있는 경우의 수가 된다.

이 때 안 입는 경우도 있으므로 곱할 때 +1을 한 후 곱해주며, 모두 안 입는 경우가 1개 존재하기 때문에 마지막에 감소시켜준다.

 

참고 사이트

'Programmers > Level2' 카테고리의 다른 글

멀쩡한 사각형  (0) 2021.07.23
주식가격  (0) 2021.07.23
H-Index  (0) 2021.07.22
카펫  (0) 2021.07.22
조이스틱  (0) 2021.07.22