본문 바로가기

문제풀이

[백준] 1264번 파이썬 풀이

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

 

1264번: 모음의 개수

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

www.acmicpc.net

[문제]

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오.

모음은 '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

내가 작성한 코드

while(True):
    ch = list(map(str, input()))
    count = 0
    if ch[0]=="#":
        break
    
    length = len(ch)
    for i in range(0, length):
        if (ch[i].lower() == "a") or (ch[i].lower() == "e") or (ch[i].lower() == "i") or (ch[i].lower() == "o") or (ch[i].lower() == "u"):
            count += 1
    
    print(count)

 

문제에서 대문자 또는 소문자를 입력할 수 있으므로, 문자를 강제적으로 소문자로 바꿔주었다.

또한, or 사용으로 'a', 'e', 'i', 'o', 'u' 중 하나만 발견되더라도 카운트가 증가되게 코딩하였다.

 

결과는 성공적이다!