Level 5Exercise #121
Sort semantic versions
Sort dotted numeric version strings numerically by component.
What you’ll practice
This Level 5 exercise focuses on cmp_to_key in the Algorithms curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.
Relevant Python reference: Python Standard Library — Algorithms.
Sample Test Cases
Example #1
Input:
sort_versions(['1.10','1.2','2.0'])Output:
['1.2','1.10','2.0']Further Reading
Reference Solution
Reveal Reference Solution
def sort_versions(versions: list[str]) -> list[str]: from functools import cmp_to_key def compare(a, b): left, right = tuple(map(int,a.split('.'))), tuple(map(int,b.split('.'))) return (left > right) - (left < right) return sorted(versions, key=cmp_to_key(compare))Pro Tips & Keyboard Shortcuts
Color Theme
Ctrl + K then T
Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.
Editor SettingsCtrl + K
Open practice settings drawer to toggle line numbers, indenting, font size & hints.
Search MenuCtrl + /
Expand sidebar menu, focus search bar, and highlight search text instantly.
Focus Code Editor
Esc or Ctrl + `
Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.
Normal ViewEsc
Collapse sidebar and close all popups or settings drawers for clean focus view.