문제
알파벳 소문자로만 이루어진 단어가 주어질 때, 모음(a, e, i, o, u)의 개수를 구한다.
입력
첫째 줄에 알파벳 소문자로만 이루어진 단어가 주어진다 (길이 1 이상 100 이하).
출력
모음의 개수를 출력한다.
예제
| 입력 | 출력 |
|---|---|
baekjoon | 4 |
풀이
문자열을 순회하며 각 문자가 모음(a, e, i, o, u)인지 확인하여 개수를 센다.
- 문자열을 한 문자씩 순회한다
- 각 문자가 'a', 'e', 'i', 'o', 'u' 중 하나이면 카운트를 증가시킨다
- 최종 카운트를 출력한다
핵심 아이디어: 5개의 모음 문자와 직접 비교하는 단순 조건문으로 처리한다.
코드
package day699;
import java.io.*;
public class Day670BOJ10987모음갯수 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = 0;
String s = br.readLine();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
cnt++;
}
System.out.print(cnt);
}
}복잡도
- 시간: O(N) — N은 문자열 길이
- 공간: O(1)