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

 

10384번: 팬그램

팬그램은 모든 알파벳을 적어도 한 번씩을 사용한 영어 문장을 말한다. 다음은 유명한 팬그램 중 하나이다. The quick brown fox jumps over a lazy dog 더블 팬그램은 모든 알파벳을 적어도 두 번씩은 사용

www.acmicpc.net

문제 요약 : 모든 알파벳을 적어도 몇번 사용했는지에 따라 문자열 출력

입력 출력
n = 테스트 케이스 개수
n 줄의 문자열(대, 소문자, 특수문자)

  • 팬그램이 아닐 경우 - Not a pangram
  • 팬그램일 경우 - Pangram!
  • 더블 팬그램일 경우 - Double pangram!!
  • 트리플 팬그램일 경우 - Triple pangram!!!

 

제출 번호 아이디 문제 결과 메모리 시간 언어 코드길이
30597575 cbkpar  10384 맞았습니다!! 15936 KB 156 ms Java 11 960 B

 

JAVA

소스코드 : https://github.com/cbkpar/BOJ/blob/main/boj_10384.java

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

public class Main {
	
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int t,i,j,m;
		t = Integer.parseInt(br.readLine());
		for(i=1;i<=t;i++) {
			String str = br.readLine();
			int[] arr = new int[26];
			for(j=0;j<str.length();j++) {
				if(str.charAt(j)>='a'&&str.charAt(j)<='z') arr[str.charAt(j)-'a']++;
				if(str.charAt(j)>='A'&&str.charAt(j)<='Z') arr[str.charAt(j)-'A']++;
			}
			m = 3;
			for(j=0;j<26;j++) m = Math.min(m, arr[j]);
			if(m==0) {
				sb.append("Case "+i+": Not a pangram\n");
			}else if(m==1) {
				sb.append("Case "+i+": Pangram!\n");
			}else if(m==2) {
				sb.append("Case "+i+": Double pangram!!\n");
			}else {
				sb.append("Case "+i+": Triple pangram!!!\n");
			}
		}
		System.out.println(sb);
	}
}

 

출력되는 문자열의 대소문자를 확인하지 못하여 틀렸던 문제

 

+ Recent posts