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

HaYeong Jang·2021년 2월 26일
0
post-thumbnail

🔗 문제링크

https://programmers.co.kr/learn/courses/30/lessons/42578

👩🏻‍💻 코드

import java.io.*;
import java.util.*;

class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;
        HashMap<String, Integer> hashMap = new HashMap<>();

        for (int i = 0; i < clothes.length; i++) {
            hashMap.put(clothes[i][1], hashMap.getOrDefault(clothes[i][1], 0) + 1);
        }

        for (int value : hashMap.values()) {
            answer *= (value + 1);
        }

        return answer - 1;
    }
}

📝 정리

우선 hashMap에 <의상의 종류, 종류에 속한 의상의 개수> 형태로 저장한다.
"같은 종류에서 하나 고르는 경우" or "하나도 고르지 않는 경우" 가 있기 때문에 hashMap에 들어있는 value를 꺼내서 answer에 value+1 값을 모두 곱해준다.
마지막에 의상을 하나도 안 고르는 경우는 없기 때문에 answer-1을 리턴한다.

profile
기억하기 위해 기록하는 개발로그👣

0개의 댓글