문제 8: 모음 세기

발행: (2026년 1월 6일 오후 03:05 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

예시

count_vowels("hello world")  # → 3
count_vowels("AEIOU")        # → 5

해결법

def count_vowels(s):
    """
    Counts the number of vowels in a string.
    """
    vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}
    count = 0
    for char in s:
        if char in vowels:
            count += 1
    return count

# Test case
print(count_vowels("pooopcycle"))  # Output: 4

풀이 과정

  • 함수 정의: def count_vowels(s):는 문자열 s를 매개변수로 받는 함수를 생성합니다.

  • 모음 집합: vowels = {...}은 소문자와 대문자 모음을 모두 집합에 저장하여 O(1) 조회를 가능하게 합니다.

  • 카운터 초기화: count = 0은 모음 카운터를 시작합니다.

  • 반복: for char in s:는 입력 문자열의 각 문자에 대해 반복합니다.

  • 검사 및 증가:

    if char in vowels:
        count += 1

    현재 문자가 모음이면 count를 증가시킵니다.

  • 반환: return count는 찾은 모음의 총 개수를 반환합니다.

"pooopcycle"에 대한 예시 추적

문자모음 여부개수
pNo0
oYes1
oYes2
oYes3
pNo3
cNo3
yNo3
cNo3
lNo3
eYes4

함수는 이 입력에 대해 올바르게 4를 반환합니다.

코딩 즐겁게! 💻

Back to Blog

관련 글

더 보기 »

100일 DSA 코딩 챌린지 중 Day 85

챌린지 개요: 새로운 도전에 도전하기: GeeksforGeeks POTD를 매일 풀고 내 솔루션을 공유합니다! 💻🔥 문제: 모든 주문을 처리하는 최소 시간 Geeksfor…

100일 DSA 코딩 챌린지의 82일

문제: 2D Matrix에서 Peak Element 찾기 GeeksforGeeks 문제 링크: https://www.geeksforgeeks.org/problems/find-the-peak-element-in-a-2d-matrix/1 난이도…

LeetCode DSA 시리즈 #6: 268. Missing Number

문제 개요: 이 작업은 LeetCode 문제 268, Missing Number입니다 – 0부터 n까지의 범위에서 추출된 n개의 서로 다른 숫자를 포함하는 배열 nums가 주어질 때, 하나의 누락된 숫자를 찾는 문제입니다.