코딩테스트/프로그래머스

[Java] 프로그래머스 - 위장 (2단계)

배똥회장 2022. 7. 15. 13:35
728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

import java.util.*;
class Solution {
    public int solution(String[][] clothes) {
        HashMap<String, Integer> hash = new HashMap<>();
        
        //곱셈을 해야 해서 1부터 시작
        int answer = 1;
        
        //종류별로 해시에 모으기
      	//이름은 상관 없기 때문에 숫자로 계산
        for (int i = 0; i < clothes.length; i++) {
            hash.put(clothes[i][1], hash.getOrDefault(clothes[i][1], 0) + 1);
        }
        
        //1을 더하는 이유는 해당 옷을 입지 않는 경우를 포함해야 하기 때문임
        for (String key : hash.keySet()) {
            answer *= hash.get(key) + 1;
        }
        
        //모두 착용하지 않는 경우는 제외해야 하기 때문에 1을 빼고 리턴
        return answer - 1;
    }
}

 

테스트 1 통과 (0.07ms, 72.6MB)
테스트 2 통과 (0.07ms, 82MB)
테스트 3 통과 (0.06ms, 76.2MB)
테스트 4 통과 (0.10ms, 75.5MB)
테스트 5 통과 (0.05ms, 71.4MB)
테스트 6 통과 (0.04ms, 76.2MB)
테스트 7 통과 (0.08ms, 74.8MB)
테스트 8 통과 (0.05ms, 75.2MB)
테스트 9 통과 (0.04ms, 72.2MB)
테스트 10 통과 (0.04ms, 76.1MB)
테스트 11 통과 (0.04ms, 73.5MB)
테스트 12 통과 (0.06ms, 73.1MB)
테스트 13 통과 (0.07ms, 77.3MB)
테스트 14 통과 (0.04ms, 79.4MB)
테스트 15 통과 (0.03ms, 77.1MB)
테스트 16 통과 (0.04ms, 75.8MB)
테스트 17 통과 (0.05ms, 74.5MB)
테스트 18 통과 (0.06ms, 75.2MB)
테스트 19 통과 (0.05ms, 77.4MB)
테스트 20 통과 (0.04ms, 73.3MB)
테스트 21 통과 (0.04ms, 77.4MB)
테스트 22 통과 (0.04ms, 72MB)
테스트 23 통과 (0.04ms, 69.5MB)
테스트 24 통과 (0.07ms, 78.5MB)
테스트 25 통과 (0.08ms, 76.4MB)
테스트 26 통과 (0.06ms, 74.9MB)
테스트 27 통과 (0.04ms, 75.9MB)
테스트 28 통과 (0.07ms, 74.2MB)

 

 

 

 

 

경우의 수 공식만 알면 쉽게 풀 수 있는 문제

 

 

 

 

 

728x90