소문자 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 있는 모음을 뒤집는 것입니다. 따라서 문자열이 "hello"이면 모음 반전 후 문자열은 "holle"입니다. "programming" 문자열의 경우 "prigrammong"이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 문자열을 가져와 모음 목록을 만들고 인덱스도 저장
- 모음 목록 반전
- idx 설정 :=0
- for i :=0에서 주어진 문자열의 길이까지 – 1
- i가 인덱스 목록에 있는 경우 -
- 모음[i]을 최종 문자열에 입력
- idx :=idx + 1
- 그렇지 않으면 string[i]를 최종 문자열에 넣습니다.
- i가 인덱스 목록에 있는 경우 -
- 목록을 문자열로 반환
예
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
class Solution: def reverseVowels(self, s): chars = list(s) index = [] vowels = [] for i in range(len(chars)): if chars[i] in ['a','e','i','o','u']: vowels.append(chars[i]) index.append(i) vowels = vowels[::-1] final = [] ind = 0 for i in range(len(chars)): if i in index: final.append(vowels[ind]) ind += 1 else: final.append(chars[i]) str1 = "" return str1.join(final) ob1 = Solution() print(ob1.reverseVowels("hello")) print(ob1.reverseVowels("programming"))
입력
"hello" "programming"
출력
holle prigrammong