관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[알고리즘] 백준 9375 패션왕 신해빈 -해시(hash)- 자바 본문

알고리즘/해시

[알고리즘] 백준 9375 패션왕 신해빈 -해시(hash)- 자바

막무가내막내 2020. 11. 27. 20:09
728x90

www.acmicpc.net/problem/9375

 

9375번: 패션왕 신해빈

첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로   (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.

www.acmicpc.net

 

 

 

해시맵을 사용하면 간단하게 풀리는 문제입니다.

단 다음 공식을 알아야합니다. 옷 종류별로 (옷 개수+1) * (옷 개수 + 1 ) * ... * (옷 개수 + 1 ) -1 이 총 알몸이 아닌 상태로 의상을 입을 수 있는 경우의 수 입니다.

 

풀이는 다음과 같습니다.

 

[Java]

import java.util.HashMap;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int testCase = sc.nextInt();
        for (int t = 0; t < testCase; t++) {
            HashMap<String, Integer> map = new HashMap<>();
            int n = sc.nextInt();
            for (int i = 0; i < n; i++) {
                String name = sc.next();
                String type = sc.next();
                map.put(type, map.getOrDefault(type, 0) + 1);
            }
            int answer = 1;
            for (String key : map.keySet()){
                answer *= (map.get(key) + 1);
            }
            System.out.println(answer-1);
        }
    }
}

 

 

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!

728x90
Comments