https://www.acmicpc.net/problem/9375
9375번: 패션왕 신해빈
첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.
www.acmicpc.net
해석 및 팁
이 문제는 HashMap을 사용하면 되는 문제입니다. headgear, eyewear 같은 type을 저장한 후 개수를 HashMap에 저장합니다. 경우의 수는 (각 type의 개수 + 1) * (각 type의 개수 + 1) *(각 type의 개수 + 1)..... 에다가 전부 벗는 경우는 제외시켜야 하므로 1을 빼주면 됩니다. 반복문을 통해 HashMap의 value를 불러와서 곱해주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
HashMap<String, Integer> map = new HashMap<>();
int n = sc.nextInt();
for(int j = 0; j < n; j++) {
String str = sc.next();
String type = sc.next();
if(map.containsKey(type)) map.put(type, map.get(type) + 1);
else map.put(type, 1);
}
int sum = 1;
for(int num : map.values()) sum *= num + 1;
sb.append(sum-1).append("\n");
}
System.out.println(sb);
}
}
'백준' 카테고리의 다른 글
백준 15657 N과 M (8)(Java) (0) | 2023.02.02 |
---|---|
백준 1004 어린 왕자(Java) (0) | 2023.02.02 |
백준 13305 주유소(Java) (0) | 2023.02.01 |
백준 15654 N과 M (5)(Java) (0) | 2023.02.01 |
백준 11659 구간 합 구하기 4(Java) (0) | 2023.02.01 |