aboutsummaryrefslogtreecommitdiff
path: root/challenge-245/lubos-kolouch/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-245/lubos-kolouch/python/ch-1.py')
-rw-r--r--challenge-245/lubos-kolouch/python/ch-1.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-245/lubos-kolouch/python/ch-1.py b/challenge-245/lubos-kolouch/python/ch-1.py
new file mode 100644
index 0000000000..d960e4b918
--- /dev/null
+++ b/challenge-245/lubos-kolouch/python/ch-1.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+import unittest
+from typing import List, Tuple
+
+
+def sort_language(langs: list[str], popularity: list[int]) -> list[str]:
+ combined = sorted(zip(langs, popularity), key=lambda x: x[1])
+ return [lang for lang, _ in combined]
+
+
+# Test Cases
+class TestSortLanguage(unittest.TestCase):
+ def test_example_1(self):
+ self.assertEqual(
+ sort_language(["perl", "c", "python"], [2, 1, 3]), ["c", "perl", "python"]
+ )
+
+ def test_example_2(self):
+ self.assertEqual(
+ sort_language(["c++", "haskell", "java"], [1, 3, 2]),
+ ["c++", "java", "haskell"],
+ )
+
+
+if __name__ == "__main__":
+ unittest.main()