• Home

My Codegate

  • Home

백준 9375 패션왕 신해빈 자바 문제풀이

2023/12/21 Posted by Codegate Java No Comments

문제 링크

문제 내용은 입력으로 케이스 횟수와, 옷 갯수, 옷 이름과 종류를 받아 중복되지 않고 만들 수 있는 최대 조합을 찾아줘야 하는데, 입력 부분에서 여러 문제가 들어오기 때문에 출력 시 답변도 여러개를 해 줘야 한다는 것을 잊지 말자

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

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    for (int i = 0; i < count; i++) {
      HashMap<String, Integer> map = new HashMap<>();
      int clothesCount = Integer.parseInt(br.readLine());
      for (int j = 0; j < clothesCount; j++) {
        map.merge(br.readLine().split(" ")[1], 1, Integer::sum);
      }

      int ans = 1;
      for (Map.Entry<String, Integer> entry : map.entrySet()) {
        ans *= entry.getValue() + 1;
      }

      System.out.println(ans - 1);
    }
  }

}

문제를 풀어보자면 의상 종류별로 조합을 구해줘야 하는데, hat headgear, sunglasses eyewear, turban headgear 이렇게 들어온다 치면 headgear 2개, eyewear 1개가 되는데 둘 다 착용하지 않는 경우도 있으니 위 상태에서의 조합은 3 * 2인 6이 되고, 아무것도 입지 않는 경우는 허용되지 않으니 6에서 1을 뺀 5가 최대 조합이 되겠다.

문제를 풀어보자면 Map에 의상 종류별 갯수를 모두 넣어준 후, Map을 entrySet() 으로 꺼내주면서 종류별 옷 갯수 + 1(입지 않은 횟수)를 해서 곱해 나가야 하는데 ans에 1을 할당한 이유는 0으로 할당했을 경우 뭘 곱해도 0이기 때문에 그런 것이다.

이후 의상 종류별 옷 갯수를 모두 곱해준 뒤 아무 옷도 입지 않은 경우를 제외해야 하므로 -1을 해준 후 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next