배열에 단어가 거의 없다고 가정합니다. 이 단어는 소문자입니다. 다음 규칙에 따라 이 단어 집합의 총점을 찾아야 합니다. −
-
모음이 [a, e, i, o, u 및 y]
라고 가정합니다. -
짝수의 모음이 포함된 단어의 경우 개별 단어의 점수는 2입니다.
-
그렇지 않으면 해당 단어의 점수는 1입니다.
-
전체 단어 집합의 점수는 집합의 모든 단어 점수의 합입니다.
따라서 입력이 단어 =["프로그래밍", "과학", "파이썬", "웹사이트", "하늘"]과 같으면 "프로그래밍"에는 3개의 모음 점수 1, "과학"이 있으므로 출력은 6이 됩니다. 3개의 모음이 있고 1점, "python"은 2개의 모음이 2점, "website"는 3개의 모음이 1점, "sky"는 1개의 모음 점수 1이 있으므로 1 + 1 + 2 + 1 + 1 =6입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 점수 :=0
- 단어의 각 단어에 대해 수행
- num_vowels :=0
- 단어의 각 문자에 대해 수행
- 글자가 모음이면
- num_vowels :=num_vowels + 1
- 글자가 모음이면
- num_vowels가 짝수이면
- 점수 :=점수 + 2
- 그렇지 않으면
- 점수 :=점수 + 1
- 반환 점수
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
def solve(words): score = 0 for word in words: num_vowels = 0 for letter in word: if letter in ['a', 'e', 'i', 'o', 'u', 'y']: num_vowels += 1 if num_vowels % 2 == 0: score += 2 else: score +=1 return score words = ["programming", "science", "python", "website", "sky"] print(solve(words))
입력
["programming", "science", "python", "website", "sky"]
출력
6