728x90
https://www.acmicpc.net/problem/9375
package BKD_0x15_Hash;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
public class BOJ_9375 {
public static void main(String[] args) throws IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
HashMap<String,Integer> map = new HashMap<>();
int T = Integer.parseInt(br.readLine());
for(int i=0;i<T;i++) {
int mulClothes = 1;
int N = Integer.parseInt(br.readLine());
if (N == 0) {
System.out.println(0);
continue;
}
// map 입력
for (int j = 0; j < N; j++) {
String[] input = br.readLine().split(" ");
String cloth = input[1];
if (map.containsKey(cloth)) {
int temp = map.get(cloth)+1;
map.remove(cloth);
map.put(cloth, temp);
} else {
map.put(cloth, 1);
}
}
Iterator<Integer> iterator = map.values().iterator();
while (iterator.hasNext()){
int clothVal = iterator.next();
mulClothes *= clothVal+1;
}
System.out.println(mulClothes-1);
map.clear();
}
}
}
의상 종류 별로 의상 수를 카운팅 하여 입력 ->Map<의상 종류 , 의상 수>
mulClothes *= clothVal+1;
의상 수 + 1(입지 않는경우) 의 값을 모두 곱
결과 값 : 곱한 값 -1(모두 입지 않은 경우)
728x90
'🐣 알고리즘 삐약 > 💻 백준 삐약' 카테고리의 다른 글
106 삐약 : 백준 11478 | 서로다른 부분 문자열의 개수 [바킹독| HASH |JAVA] (0) | 2024.10.31 |
---|---|
105 삐약 : 백준 16165 | 걸그룹마스터 준석이 [바킹독| HASH |JAVA] (0) | 2024.10.31 |
103 삐약 : 백준 17219 | 비밀번호 찾기 [바킹독| HASH |JAVA] (0) | 2024.10.31 |
102 삐약 : 백준 13414 | 수강신청 [바킹독| HASH |JAVA] (0) | 2024.10.31 |
101 삐약 : 백준 1620 | 나는야 포켓몬 마스터 이다솜 [바킹독| HASH |JAVA] (0) | 2024.10.31 |