소문자 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 있는 모음을 뒤집는 것입니다. 따라서 문자열이 "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