알고리즘

[백준, 자바, 1264번] 모음의 개수

hminor 2023. 12. 28. 11:55

풀이

  • 해당 문제는 처음엔 각 모음의 개수를 출력할 줄 알았지만
  • 난이도인 만큼 전체 개수를 조회하는 문제로
  • 입력받은 문장을 모두 소문자로 변경한 다음 값이 배열안에 있다면 카운팅하는 것으로 해결
  • 물론 초음에 모음을 담은 li를 set로 하면
  • 파이썬에서는 hash로 접근하여 인덱스로 찾게되어 더 빠르게 조회가 가능하지만 
  • 따로 시간에 대한 여유가 있어 익숙한 배열로 문제 해결.
  • 그리고 조건을 활용하여 반복문 탈출이 가능하도록 하기.

 

추가 학습

  • 자바에서 배열 생성시 초기값으로 원하는 값을 넣고자 한다면
    • List<type> 으로 설정 후 Arrays.asList() 안에 값을 넣어주면 된다.

 

import java.io.*;
import java.util.*;

public class 모음의개수 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        List<Character> li = Arrays.asList('a', 'e', 'i', 'o', 'u');
        while (true) {
            char[] ip = br.readLine().toLowerCase().toCharArray();
            if (ip[0] == '#') break;
            int cnt = 0;
            for (int i = 0; i < ip.length; i++) {
                if (li.contains(ip[i])) cnt ++;
            }
            System.out.println(cnt);
        }
    }
}