-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0791_Custom_Sort_String.py
More file actions
30 lines (24 loc) · 915 Bytes
/
0791_Custom_Sort_String.py
File metadata and controls
30 lines (24 loc) · 915 Bytes
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
class Solution:
def customSortString(self, order: str, s: str) -> str:
# s letter frequency dictionary declare
s_freq_dict = {}
# s_freq_dict initialize by order
for letter_order in order:
s_freq_dict[letter_order] = 0
# Remainder letter reserve
remainder = ""
# Loop - all letter in s
for letter in s:
if letter in s_freq_dict: # order letter
s_freq_dict[letter] += 1
else: # non-order letter
remainder += letter
# solution declare
sol = ""
# Loop - order
for order_letter in order:
if order_letter in s_freq_dict: # letter exist
# Update solution - letter and freqeuncy
sol += order_letter * s_freq_dict[order_letter]
# RETURN - solution add with remainder
return sol + remainder