반응형

● 문제 접근 과정

  • #이 나온 다면, 반복문은 종료
  • 반복문에서는 count_vowels 함수를 이용하여 results에 결과값을 저장
  • results의 요소들을 하나씩 출력

● 구현

import sys

# 주어진 문자열에서 소문자 모음('a', 'e', 'i', 'o', 'u')의 개수를 세는 함수
def count_vowels(s):
    vowels = {'a', 'e', 'i', 'o', 'u'}  # 소문자 모음 집합
    count = 0
    for char in s:
        if char.lower() in vowels:  # 문자를 소문자로 변환하여 모음 집합에 포함되는지 확인
            count += 1
    return count

def main():
    results = []
    for line in sys.stdin:
        line = line.strip()  # 줄 바꿈 문자 제거
        if line == '#':
            break  # '#'이 입력되면 입력 종료
        result = count_vowels(line)  # 각 줄마다 소문자 모음 개수 계산
        results.append(result)  # 결과를 리스트에 저장
    
    for result in results:
        print(result)  # 결과 출력

if __name__ == "__main__":
    main()

 

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

 

반응형

+ Recent posts