[프로그래머스] 위장(자바)

지수·2021년 11월 15일
0
post-thumbnail

알고리즘 문제 풀이를 블로그에 올리는 이유는 풀이, 코드를 기록하기 위함이니
앞으로 문제를 다 긁어오기보다 링크만 두고 풀이가 잘 보이도록 포스팅 할 예정입니다!

📄 문제

[프로그래머스] 위장


👩‍💻 풀이

1. 문제 이해

이 문제는 의상의 종류를 Key로 포함되는 개별 의상 리스트를 Value로 저장하고,
해당 옷들을 입거나 안입거나하는 전체 경우의 수를 구하는 문제이다.


2. 풀이

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

public class Solution {

    public static void main(String[] args) {
//        String[][] clothes = {{"yellowhat", "headgear"}, {"bluesunglasses", "eyewear"}, {"green_turban", "headgear"}};
        String[][] clothes = {{"crowmask", "face"}, {"bluesunglasses", "face"}, {"smoky_makeup", "face"}};
        System.out.println(solution(clothes));
    }

    public static int solution(String[][] clothes) {
        int answer = 1;
        HashMap<String, List<String>> hashmap = new HashMap<>();

        for(String[] c : clothes) {
            if(hashmap.getOrDefault(c[1], null) == null) {
                hashmap.put(c[1], new LinkedList<String>());
            }
            hashmap.get(c[1]).add(c[0]);
        }

        for(String k : hashmap.keySet()) {
//            System.out.println(k);
//            System.out.println(hashmap.get(k));
            answer *= hashmap.get(k).size() + 1;
        }

        return answer - 1;
    }
}
profile
사부작 사부작

0개의 댓글