[백준] 2902번: KMP는 왜 KMP일까? (JAVA)

2022. 1. 31. 13:10알고리즘

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

 

2902번: KMP는 왜 KMP일까?

입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드

www.acmicpc.net

 


 

문제 설명

입력으로 하나의 문자열이 들어오는데 이 문자열에는 대문자, 소문자, 하이픈들이 있다. 이 문자열에서 대문자인 것들만 출력을 시키면 되는 문제이다.

코드

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

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String str = br.readLine();

		for (int i = 0; i < str.length(); i++) {
			if (Character.isUpperCase(str.charAt(i))) {
				bw.write(str.charAt(i));
			}
		}

		bw.flush();

	}
}

코드 설명

만약 문자열에 대문자가 있으면 그 대문자를 출력을 하면 되는 것이므로 Character.isUpperCase를 이용하여 입력받은

문자열에 대문자가 있는지 판단을 한 후, 출력을 시켰다.