코딩테스트/프로그래머스 2단계
프로그래머스 2단계 - 위장(해쉬)
SICDev
2021. 9. 8. 23:49
반응형
https://programmers.co.kr/learn/courses/30/lessons/42578
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
//종류와 종류의 갯수를 구한다.
HashMap<String, Integer> map = new HashMap<>();
for(int i=0; i<clothes.length; i++){
//getOrDefault(key, value) key값이 존재하면 key반환 없으면 value값 반환
map.put(clothes[i][1], map.getOrDefault(clothes[i][1],0)+1);
}
for(String i : map.keySet()){
//모든 경우의수 = (얼굴) * (상의) * (하의) * (겉옷)
//얼굴만 쓴다던가 혹은 상의만 입는다던가 할 수 있기때문에
//(얼굴+1) * (상의+1) * (하의+1) * (겉옷+1) 해줘야함
answer = answer * (map.get(i)+1);
}
//아무것도 입지 않을수 없으니 -1을 해준다.
answer--;
return answer;
}
}
반응형