알고리즘 연습/기초 (입출력 등)

[🥉4 / 백준 1264 / 파이썬] 모음의 개수

김세진 2022. 9. 19. 22:43
반응형

 

 

1264번: 모음의 개수

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

www.acmicpc.net

 

문제

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

 

풀이

 

테스트 케이스가 정확히 몇 개인지 주어지지 않고 #를 받아야 끝나기 때문에 while을 이용해야 한다.

 

대소문자를 구별하도록 되어있는데, 쉽게 해결하기 위해 lower() 함수로 문장을 모두 소문자로 만들어주자.

이후 따로 저장해둔 모음과 비교하여 개수를 센 뒤 출력한다.

 

import sys
input = sys.stdin.readline

v = ['a','e','i','o','u'] // 여러번 선언할 필요가 없다. while 밖으로 빼주자
while True:
    s = input().rstrip().lower()
    
    if s == '#':
        break
    
    cnt = 0
    for i in s:
        if i in v:
            cnt+=1
    print(cnt)
반응형