백준 Baekjoon 1264번 모음의 개수 - JAVA

Jaeho Kim·2022년 4월 13일
1

코딩테스트

목록 보기
8/110

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

문제
영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 '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.Scanner;

public class Main {
	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in); // 입력

		while (true) { // 라인별 접근을 위한 순한
			String N = sc.nextLine(); // 라인별 접근
			if (N.equals("#")) // 만약 0이라면
				System.exit(0); // 시스템 강제 종료 코드

			String[] arr = N.toLowerCase().split(""); // 해당 문자열 한글자씩 배열 생성

			int count = 0;
			for (String str : arr) { // 순환
				switch (str) {	// switch문을 사용하여 해결
				case "a":
				case "e":
				case "i":
				case "o":
				case "u":
					count++;
				default:
					break;
				}
			}
			System.out.println(count);
		}

	}
}
  • 설명
    • 처음에는 map을 이용해서 모음을 담아두고 get으로 값이 있을떄를 비교하려고 했는데, 생각해보니 switch문이 있었다.
    • toLowerCase().split("")을 이용하여 해당문자열을 조각내기 전에 소문자로 만들어서 모음비교를 용이하도록 만듬.
profile
Hello, World!

0개의 댓글