anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott

기록

알고리즘/백준저지

백준저지 9375번 패션왕 신해빈

2021. 8. 17. 22:50

출처: https://www.acmicpc.net/problem/9375

 

9375번: 패션왕 신해빈

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

www.acmicpc.net

 

제출 날짜: 2021년 8월 16일 월요일

 

 

 

코드

// 출처: 백준저지 9375번 패션왕 신해빈 https://www.acmicpc.net/problem/9375

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

public class BOJ9375 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int T = Integer.parseInt(st.nextToken()); // 테스트 케이스 (최대 100)
        for (int tc = 0; tc < T; tc++) {
            HashMap<String, Integer> cloth = new HashMap<>();
            st = new StringTokenizer(br.readLine());
            int N = Integer.parseInt(st.nextToken()); // 해빈이가 가진 의상의 수
            for (int i = 0; i < N; i++) {
                st = new StringTokenizer(br.readLine(), " ");
                String name = st.nextToken(); // 의상 이름은 필요없다
                String type = st.nextToken(); // 의상 종료를 입력 받는다
                if (cloth.containsKey(type)) { // 의상 종류가 HashMap에 있다면 값을 받아 1을 더한다
                    cloth.put(type, cloth.get(type) + 1);
                } else { // 의상 종류가 없다면 그냥 1을 입력한다
                    cloth.put(type, 1);
                }
            }
            int answer = 1;
            for (int c : cloth.values()) { // 의상 종류의 각 개수마다 1씩 더해서 곱한다. 이때 1은 해당 의상을 전혀 안 입은 경우
                answer = answer * (c + 1);
            }

            System.out.println(answer - 1); // 의상을 모두 안 입은 경우는 제외하기 때문에 1을 뺀다
        }
    }
}

 

 

 

저작자표시 비영리 (새창열림)

'알고리즘 > 백준저지' 카테고리의 다른 글

백준저지 13300번 반 배정  (0) 2021.08.21
백준저지 2304번 창고 다각형  (0) 2021.08.20
백준저지 2435번 기상청 인턴 신현수  (0) 2021.08.16
백준저지 2559번 수열  (0) 2021.08.15
백준저지 2605번 줄 세우기  (0) 2021.08.15
    '알고리즘/백준저지' 카테고리의 다른 글
    • 백준저지 13300번 반 배정
    • 백준저지 2304번 창고 다각형
    • 백준저지 2435번 기상청 인턴 신현수
    • 백준저지 2559번 수열
    anott
    anott

    티스토리툴바