
문제 링크
프로그래머스 level2 위장
풀이 순서
- clothes 배열에 존재하는 모든 옷의 종류의 count table 만들기
1.1 HasmMap을 이용
- HashMap.put(Key, Value) : Hash Map에 Key와 Value를 한 쌍으로 입력하는 함수이다.
2.1 HashMap.getOrDefault('B', 0)
2.2 이 함수는 'B'라는 Key에 해당하는 Value가 있으면 가져오고, 아닐 경우 0을 Default로 지정하여 사용하겠다는 의미의 함수이다.
2.3 Value는 곧 옷 종류의 가짓수가 되기 때문에, 이전에 값이 있었으면 기존 값에 + 1을 하면 되고 없었으면 1을 입력하면 된다.
내 코드
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> hm = new HashMap<>();
for(int i=0; i<clothes.length; i++){
hm.put(clothes[i][1], hm.getOrDefault(clothes[i][1],0)+1);
}
for(String key: hm.keySet()){
answer *= (hm.get(key)+1);
}
answer -=1;
return answer;
}
}