From b9fedda1aa25b1a170b884f89acb6700bc858d73 Mon Sep 17 00:00:00 2001 From: Jeongwon Na Date: Sun, 28 Jun 2026 15:55:10 +0200 Subject: [PATCH 1/2] solve valid anagram --- valid-anagram/njngwn.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 valid-anagram/njngwn.py diff --git a/valid-anagram/njngwn.py b/valid-anagram/njngwn.py new file mode 100644 index 0000000000..da47ffffe5 --- /dev/null +++ b/valid-anagram/njngwn.py @@ -0,0 +1,7 @@ +from collections import Counter + +class Solution: + # Time Complexity: O(n), n: max(len(s), len(t)) + # Space Complexity: O(k), k: number of letters + def isAnagram(self, s: str, t: str) -> bool: + return Counter(s) == Counter(t) From b9449de5dd6bd3f51396766844f037dd1141f02b Mon Sep 17 00:00:00 2001 From: Jeongwon Na Date: Tue, 30 Jun 2026 15:54:38 +0200 Subject: [PATCH 2/2] solve climbing stairs --- climbing-stairs/njngwn.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 climbing-stairs/njngwn.py diff --git a/climbing-stairs/njngwn.py b/climbing-stairs/njngwn.py new file mode 100644 index 0000000000..1d2fb959cb --- /dev/null +++ b/climbing-stairs/njngwn.py @@ -0,0 +1,12 @@ +class Solution: + # dynamic programming with bottom-up + # Time Complexity: O(n) + # Space Complexity: O(1) + def climbStairs(self, n: int) -> int: + if n <= 2: return n + prev1, prev2 = 2, 1 + + for i in range(3, n+1): + prev1, prev2 = prev2 + prev1, prev1 + + return prev1