기록하는 개발자

[백준 1264번] 모음의 개수- JAVA 알고리즘 본문

Baekjoon Online Judge

[백준 1264번] 모음의 개수- JAVA 알고리즘

gitseok 2022. 4. 26. 16:14

1264번
문제
영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다.
입력의 끝에는 한 줄에 '#' 한 글자만이 주어진다.
출력
각 줄마다 모음의 개수를 세서 출력한다.
예제 입력 예제 출력
   
How are you today?
Quite well, thank you, how about yourself?
I live at number twenty four.
#
7
14
9

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.*;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 선언
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 선언

		 Pattern pattern = Pattern.compile("[ieaouIEAOU]");	// 모음 체크
	    
		while(true) {
			String text = br.readLine();
			if(text.equals("#"))break; // #을 만날시 종료
			int count = 0;
			
				//패턴과 일치하는지 확인
				Matcher matcher = pattern.matcher(text);
				while (matcher.find())count++; //문자열 끝까지 확인
				
				bw.write(count+"\n");
		}
		bw.close();
		br.close();
	}
}

실행 결과

개인적으로 정리한 내용을 간단하게 풀어 작성했습니다.
이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다.
Comments