blob: 6ffdfee02e8d74087669fcf65f9fe3d41df976a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# 2785. Sort Vowels in a String
"""
given a 0-indexed string 's', permute 's' to get a new string 't'.
- All consonants remain in their original places. More formally, if there is
an index i with 0 <= i < s.length such that s[i] is a consonant, then t[i] =
s[i].
- The vowels must be sorted in the nondecreasing order of their ASCII
values. More formally, for pairs of indices i, j with 0 <= i < j < s.length
such that s[i] and s[j] are vowels, then t[i] must not have a higher ASCII
value than t[j].
return the resulting string. consonants comprise all letter that are not
vowels.
"""
class Solution(object):
def sortVowels(self, s):
"""
:type s: str
:rtype: str
"""
vowel_map = set("AEIOUaeiou")
vowels = [i for i in s if i in vowel_map]
vowels.sort()
ans, i = [], iter(vowels)
for j in s:
ans.append(next(i) if j in vowel_map else j)
return "".join(ans)
if __name__ == "__main__":
obj = Solution()
print(obj.sortVowels("lEetcOde"))
print(obj.sortVowels("lYmpH"))
|