Skip to content

Commit 0e22632

Browse files
committed
Solve "Sort Characters By Frequency"
1 parent dccc0e3 commit 0e22632

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/sort_characters_by_frequency.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from collections import Counter
2+
3+
4+
class Solution:
5+
def frequencySort(self, s: str) -> str:
6+
result: list[str] = []
7+
counter = Counter(s)
8+
9+
for char, count in counter.most_common():
10+
result.append(char * count)
11+
12+
return "".join(result)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import pytest
2+
3+
from src.sort_characters_by_frequency import Solution
4+
5+
6+
@pytest.mark.parametrize(
7+
"s,expected",
8+
(
9+
("tree", "eetr"),
10+
("cccaaa", "cccaaa"),
11+
("Aabb", "bbAa"),
12+
),
13+
)
14+
def test_solution(s, expected):
15+
assert Solution().frequencySort(s) == expected

0 commit comments

Comments
 (0)