해시맵을 사용하여서 key값으로는 옷의 종류(headgear, eyewear, face)가 들어가고, value로는 종류별로 옷의 개수를 넣는다.
첫번째 예제의 경우 headgear가 2개, eyewear가 1개이므로
(key = headgear, value = 2), (key = eyewear, value = 1) 이 해시맵에 들어간다.
옷을 입는 조합은 알몸인 경우만 빼면 된다.
그러므로 (각 종류별로 옷의 개수 + 1)를 모두 곱한 다음에 마지막에 알몸인 경우 한가지를 뺀다.
headgear가 2개이므로 2개에다가 1을 더한 3과,
eyewear가 1개이므로 1개에다가 1을 더한 2를 곱한 다음(3 x 2 = 6)
마지막에 알몸인 경우 1을 뺀다.
답 : (2 + 1) * (1 + 1) - 1 = 5
소스코드 :
'BOJ' 카테고리의 다른 글
[백준 11497번] 통나무 건너뛰기 (java) (0) | 2021.03.04 |
---|---|
[백준 2234번] 성곽 (java) (0) | 2021.03.04 |
[백준 2467번] 용액 (java) (0) | 2021.03.03 |
[백준 2660번] 회장뽑기 (java) (0) | 2021.03.02 |
[백준 4358번] 생태학 (java) (0) | 2021.03.02 |