[프로그래머스](해시) - 위장

우야·2021년 4월 18일
0

Algorithm

목록 보기
3/3

문제 링크
해시맵으로 문제를 풀어 보았다.

옷의 종류를 key로 하고, 종류별로 옷의 갯수를 value로 가지는 해시맵을 이용하여 경우의 수를 구하는 형태이다.

public static int solution(String[][] clothes) {
      int answer = 1;

      HashMap<String, Integer> hm = new HashMap<String, Integer>();

      for(int i=0; i<clothes.length; i++) {
        String key = clothes[i][1];
        hm.put(key, hm.getOrDefault(key, 0)+1);
      }
      
      Set<String> keySet = hm.keySet(); 
      for(String key : keySet) {
        System.out.println(key + " " + hm.get(key));
        // key의 갯수만큼 입는경우  + 1 안입는경우
        answer *= hm.get(key)+1; 
      }
      
      // 모두 안입는 경우 -1
      return answer-1;
  }

풀이 링크

profile
Fullstack developer

0개의 댓글