[백준] 1264번 모음의 개수 Java 문제 풀이

2022. 1. 17. 18:24알고리즘/백준

728x90
반응형

문제

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다.

입력의 끝에는 한 줄에 '#' 한 글자만이 주어진다.

출력

각 줄마다 모음의 개수를 세서 출력한다.


예제입력1

How are you today?
Quite well, thank you, how about yourself?
I live at number twenty four.
#

예제출력1

7
14
9


문제풀이

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.*;

interface Main{
    static void main(String[]a) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int count;
        String str = "", regex = "(?i)[aeiou]";
        Pattern pattern = Pattern.compile(regex);      
        str = br.readLine();
        while(!str.equals("#")) {
          Matcher matcher = pattern.matcher(str);
          count = 0;
          while(matcher.find()) {
            count++;
          }
          bw.write(count+"");
          bw.newLine();
          str = br.readLine();
        }
        bw.flush();
    }
}

 문장에 a, e, i, o, u가 몇 개 포함되어 있는지 확인하는 문제입니다.

대소문자를 구별하지 않기 때문에 정규식에 (?i)를 넣어도 되고, 입력받은 문장을 소문자로 변환해도 됩니다.

 

 

 

출처 : https://www.acmicpc.net/problem/1264

 

1264번: 모음의 개수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄

www.acmicpc.net

 

728x90
반응형