백준온라인

[백준온라인] 11091번 알파벳 전부 쓰기

cbkpar 2021. 7. 3. 17:15

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

 

11091번: 알파벳 전부 쓰기

팬그램은 26개의 알파벳, a~z를 최소 한번씩 모두 사용한 문장을 말한다. 아마 가장 유명한 문장은 이것일 것이다. "The quick brown fox jumps over the lazy dog." 꿍은 다른 문장들중에 팬그램인 것은 없는지

www.acmicpc.net

 

문제 요약 : 팬그램인지 확인후 아니라면 쓰이지 않은 알파벳 출력

입력 출력
N줄에 걸쳐 문장 입력(대, 소문자, 공백, 특수문자, 공백) 팬그램 일경우 - pangram 출력
팬그램 아닐경우 - 쓰이지 않은 알파벳 오름차순 출력

 

JAVA

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

채점 번호 아이디 문제 번호 결과 메모리 시간 언어 코드 길이
30607142 cbkpar  11091 맞았습니다!! 14184KB 124ms Java 11 822B
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;
		t = Integer.parseInt(br.readLine());
		while(t-->0) {
			String str = br.readLine().toLowerCase();
			boolean[] chk = new boolean[26];
			for(i=0;i<str.length();i++) if(str.charAt(i)>='a'&&str.charAt(i)<='z') chk[str.charAt(i)-'a'] = true;
			boolean ispan = true;
			for(i=0;i<26;i++) if(!chk[i]) ispan = false;
			if(ispan) {
				sb.append("pangram\n");
			}else {
				sb.append("missing ");
				for(i=0;i<26;i++) if(!chk[i]) sb.append((char)(i+'a'));
				sb.append("\n");
			}
		}
		System.out.println(sb);
	}
}

 

br.readLine().toLowerCase();

//a-z 와 A-Z를 번거롭게 나눠서 계산하는 것을 방지하기 위해 입력을 소문자로 받아옴.