관리 메뉴

솜씨좋은장씨

[leetCode] 451. Sort Characters By Frequency (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 451. Sort Characters By Frequency (Python)

솜씨좋은장씨 2020. 10. 20. 00:01
728x90
반응형

Given a string, sort it in decreasing order based on the frequency of characters.

 

Example 1:

Input:
"tree"

Output:
"eert"

Explanation:
'e' appears twice while 'r' and 't' both appear once.
So 'e' must appear before both 'r' and 't'. Therefore "eetr" is also a valid answer.

Example 2:

Input:
"cccaaa"

Output:
"cccaaa"

Explanation:
Both 'c' and 'a' appear three times, so "aaaccc" is also a valid answer.
Note that "cacaca" is incorrect, as the same characters must be together.

Example 3:

Input:
"Aabb"

Output:
"bbAa"

Explanation:
"bbaA" is also a valid answer, but "Aabb" is incorrect.
Note that 'A' and 'a' are treated as two different characters.

Solution

from collections import Counter

class Solution:
    def frequencySort(self, s: str) -> str:
        answer = ""
        
        cnt_items = Counter(list(s)).most_common()
        
        for item in cnt_items:
            answer = answer + item[0] * item[1]
            
        return answer

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments