Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 문자열의 역모음

<시간/>

소문자 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 있는 모음을 뒤집는 것입니다. 따라서 문자열이 "hello"이면 모음 반전 후 문자열은 "holle"입니다. "programming" 문자열의 경우 "prigrammong"이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 문자열을 가져와 모음 목록을 만들고 인덱스도 저장
  • 모음 목록 반전
  • idx 설정 :=0
  • for i :=0에서 주어진 문자열의 길이까지 – 1
    • i가 인덱스 목록에 있는 경우 -
      • 모음[i]을 최종 문자열에 입력
      • idx :=idx + 1
    • 그렇지 않으면 string[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