본문 바로가기

ALGORITHM

백준 9375 패션왕 신해빈 (Java)

1. 문제 링크

 

9375번: 패션왕 신해빈

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

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

입력 받을 때 종류별로 담는데 Map에 종류와 그 종류에 몇개가 있는지 넣는다.

중복이 없다고 했기 때문에 숫자만 세도 괜찮다.

모든 입력을 받은 후 종류별로 개수를 곱하면 되는데, 안 하는 경우도 생각해서 +1한 값을 곱한다.

그리고 아무것도 입지 않은 상태인 경우인 하나를 빼면 끝이다.

 

4. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) throws IOException{
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       StringBuilder sb = new StringBuilder();
       
       int T = Integer.parseInt(br.readLine());
       String[] split = new String[2];
       for(int t=0;t<T;t++) {
    	   int N = Integer.parseInt(br.readLine()); //의상 수
    	   HashMap<String, Integer> map = new HashMap<>();
    	   for(int i=0;i<N;i++) {
    		   split = br.readLine().split(" ");
    		   String str = split[1];
    		   if(map.containsKey(str)) {
    			   map.put(str, map.get(str)+1);
    		   }
    		   else {
    			   map.put(str, 1);
    		   }
    	   }
    	   int result = 1;
    	   
    	   for(int i : map.values()){
    		   result*= i+1 ;
    	   }
    	   System.out.println(result-1);
    	   
       }
       
       System.out.println(sb);
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 2252 줄 세우기 (Java)  (0) 2023.04.01
백준 16236 아기상어 (Java)  (0) 2023.03.31
백준 1920 수 찾기 (Java)  (0) 2023.03.29
백준 1759 암호 만들기 (Java)  (0) 2023.03.28
백준 2567 색종이-2 (Java)  (0) 2023.03.27