[백준] PS/Java [실랜디]

[백준 10384] 팬그램 - JAVA

SH3542 2025. 3. 13. 21:48

https://www.acmicpc.net/problem/10384

 

구현

1. 대소문자 구분 x -> 소문자로 변경

2. 각 알파벳 개수를 카운트하여 min을 구함

3. min == n 팬그램을 의미하므로 출력

 

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

class Main {

  public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int T = Integer.parseInt(br.readLine());
    int ALPA_CNT = 26;

    for (int t = 1; t <= T; t++) {

      String ment;
      int min = Integer.MAX_VALUE;
      int[] alpha = new int[ALPA_CNT];

      String s = br.readLine();

      for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);

        if (Character.isAlphabetic(c)) {
          c = Character.toLowerCase(c);
          alpha[c - 'a']++;
        }
      }

      for (int i = 0; i < ALPA_CNT; i++) {
        min = Math.min(alpha[i], min);
      }

      if (min == 0) {
        ment = "Not a pangram";
      } else if (min == 1) {
        ment = "Pangram!";
      } else if (min == 2) {
        ment = "Double pangram!!";
      } else {
        ment = "Triple pangram!!!";
      }

      System.out.println(String.format("Case %d: %s", t, ment));
    }
  }
}