반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 04:57
관리 메뉴

ImJay

[파이썬/Python] 백준 1264번 모음의 개수 본문

Solved.ac - Python/Bronze IV

[파이썬/Python] 백준 1264번 모음의 개수

ImJay 2022. 12. 5. 19:56
반응형

[파이썬/Python] 백준 1264번 모음의 개수

 

1264번: 모음의 개수

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

www.acmicpc.net

 


문제

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다.

코드

collection = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

while True:
    count = 0
    sentence = input()
    if sentence == '#':
        break
    for s in sentence:
        if s in collection:
            count += 1
    print(count)

풀이

1. 모음으로 이루어진 리스트 collection 을 선언합니다. 

collection = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

 

2. 모음의 개수를 세줄 count 를 초기화하고, sentence 로 문장을 입력 받습니다.

무한 루프를 통해 계속 입력을 받고, 문장마다 개수를 초기화해야하기 때문에 count의 초기화도 반복문 안에서 선언합니다.

while True:
    count = 0
    sentence = input()

 

3. 문제에서 '#' 을 입력할 경우 입력의 끝으로 간주하도록 조건이 설정되어 있어 if break 문을 통해 이를 추가해줍니다.

while True:
    count = 0
    sentence = input()
    if sentence == '#':
        break

 

4. for in 문을 통해 sentence 에 담겨있는 문자들 중에서 문자를 하나씩 뽑아내 s 에 저장합니다.

if in 문을 통해 뽑은 문자 s 가 모음일 경우(collection) count 를 1 증가시켜 개수를 세줍니다.

while True:
    count = 0
    sentence = input()
    if sentence == '#':
        break
    for s in sentence:
        if s in collection:
            count += 1

 

5. 마지막으로 모음의 개수를 출력해줍니다.

while True:
    count = 0
    sentence = input()
    if sentence == '#':
        break
    for s in sentence:
        if s in collection:
            count += 1
    print(count)

 

반응형
Comments