From c27793a9ac93ea2b5059e4ecbc8edb3dc181dc4f Mon Sep 17 00:00:00 2001 From: changhyumm Date: Sun, 16 Nov 2025 22:59:13 +0900 Subject: [PATCH 1/7] valid-anagram --- valid-anagram/changhyumm.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 valid-anagram/changhyumm.py diff --git a/valid-anagram/changhyumm.py b/valid-anagram/changhyumm.py new file mode 100644 index 0000000000..569f906d83 --- /dev/null +++ b/valid-anagram/changhyumm.py @@ -0,0 +1,26 @@ +class Solution: + def isAnagram(self, s: str, t: str) -> bool: + if len(s) != len(t): + return False + # sorted_s = sorted(s) + # sorted_t = sorted(t) + # for i in range(len(s)): + # if sorted_s[i] != sorted_t[i]: + # return False + # return True + # 시간복잡도가 O(nlog(n)) + + # Hashmap 사용하는 방법으로 변경 + counter = {} + for char in s: + counter[char] = counter.get(char, 0) + 1 + for char in t: + if char in counter and counter[char] != 0: + counter[char] -= 1 + elif char in counter and counter[char] == 0: + return False + else: + return False + # 시간복잡도 O(n) + # 공간복잡도 O(n) + return True From 356bfbb8a2814dc6f93132f73c5318e1688204f0 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Sun, 16 Nov 2025 22:59:40 +0900 Subject: [PATCH 2/7] climbinb-stairs --- climbing-stairs/changhyumm.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 climbing-stairs/changhyumm.py diff --git a/climbing-stairs/changhyumm.py b/climbing-stairs/changhyumm.py new file mode 100644 index 0000000000..e82d5e1b51 --- /dev/null +++ b/climbing-stairs/changhyumm.py @@ -0,0 +1,12 @@ +class Solution: + def climbStairs(self, n: int) -> int: + if n <= 1: + return 1 + dp = [0] * n + print(dp) + dp[0] = 1 + dp[1] = 2 + + for i in range(2, n): + dp[i] = dp[i-2] + dp[i-1] + return dp[-1] From 430652561eb1a036d361b5092870f32f4c2c8db5 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Mon, 17 Nov 2025 00:59:45 +0900 Subject: [PATCH 3/7] product-of-array-except-self --- product-of-array-except-self/changhyumm.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 product-of-array-except-self/changhyumm.py diff --git a/product-of-array-except-self/changhyumm.py b/product-of-array-except-self/changhyumm.py new file mode 100644 index 0000000000..6c3105904a --- /dev/null +++ b/product-of-array-except-self/changhyumm.py @@ -0,0 +1,22 @@ +class Solution: + def productExceptSelf(self, nums: List[int]) -> List[int]: + # ans = [1] * len(nums) + # for i in range(len(nums)): + # for j in range(len(nums)): + # if i != j: + # ans[i] = ans[i] * nums[j] + # return ans + # 시간복잡도를 줄이기 위해서 이중루프를 안쓰는 방법으로 + left = [1] * len(nums) + right = [1] * len(nums) + for i in range(len(nums) - 1): + left[i+1] = left[i] * nums[i] + print(left) + for j in range(len(nums) - 1, 0, -1): + right[j-1] = right[j] * nums[j] + print(right) + + answer = [] + for k in range(len(left)): + answer.append(left[k]*right[k]) + return answer \ No newline at end of file From 254242d753ea7c5b68378abede8e0da391f821b5 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Mon, 17 Nov 2025 22:52:33 +0900 Subject: [PATCH 4/7] 3sum --- 3sum/changhyumm.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 3sum/changhyumm.py diff --git a/3sum/changhyumm.py b/3sum/changhyumm.py new file mode 100644 index 0000000000..ee5c007bfb --- /dev/null +++ b/3sum/changhyumm.py @@ -0,0 +1,35 @@ +class Solution: + def threeSum(self, nums: List[int]) -> List[List[int]]: + # ans = set() + # for i in range(len(n)): + # seen = {} + # for j in range(i+1, len(n)): + # complement = -(nums[i] + nums[j]) + # if complement in seen: + # ans.add(tuple(sorted([nums[i], nums[j], complement]))) + # seen[nums[j]] = j + # return [list(triplet) for triplet in ans] + # hash + 이중 loop -> O(n^2) + + + ## 투포인터 활용 + # sort + loop -> O(nlogn) + ans_set = set() + nums.sort() + for i in range(len(nums)): + l = i + 1 + r = len(nums) - 1 + while l < r: + total = nums[i] + nums[l] + nums[r] + if total < 0: + l += 1 + elif total > 0: + r -= 1 + else: + # 중복제거 + ans_set.add((nums[i], nums[l], nums[r])) + l += 1 + r -= 1 + return list(ans_set) + + \ No newline at end of file From 4221b6df8d26d3c8a3b3b12cdb5b0b19c314d785 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Tue, 25 Nov 2025 19:36:31 +0900 Subject: [PATCH 5/7] =?UTF-8?q?fix:=20=EB=B9=88=EA=B0=9C=ED=96=89=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3sum/changhyumm.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/3sum/changhyumm.py b/3sum/changhyumm.py index ee5c007bfb..29df5af414 100644 --- a/3sum/changhyumm.py +++ b/3sum/changhyumm.py @@ -31,5 +31,3 @@ def threeSum(self, nums: List[int]) -> List[List[int]]: l += 1 r -= 1 return list(ans_set) - - \ No newline at end of file From 28479eb9364b609c302dde71c02febbe85c3a8d4 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Tue, 25 Nov 2025 19:38:53 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=EC=A4=84=EB=B0=94=EA=BF=88=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- product-of-array-except-self/changhyumm.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/product-of-array-except-self/changhyumm.py b/product-of-array-except-self/changhyumm.py index 6c3105904a..28ac6975af 100644 --- a/product-of-array-except-self/changhyumm.py +++ b/product-of-array-except-self/changhyumm.py @@ -19,4 +19,5 @@ def productExceptSelf(self, nums: List[int]) -> List[int]: answer = [] for k in range(len(left)): answer.append(left[k]*right[k]) - return answer \ No newline at end of file + return answer + \ No newline at end of file From 489033d8541c992c3b84014ada015cb718d47709 Mon Sep 17 00:00:00 2001 From: changhyumm Date: Tue, 25 Nov 2025 19:43:29 +0900 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=EC=A4=84=EB=B0=94=EA=BF=88=20?= =?UTF-8?q?=EA=B3=B5=EB=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- product-of-array-except-self/changhyumm.py | 1 - 1 file changed, 1 deletion(-) diff --git a/product-of-array-except-self/changhyumm.py b/product-of-array-except-self/changhyumm.py index 28ac6975af..9ccec41129 100644 --- a/product-of-array-except-self/changhyumm.py +++ b/product-of-array-except-self/changhyumm.py @@ -20,4 +20,3 @@ def productExceptSelf(self, nums: List[int]) -> List[int]: for k in range(len(left)): answer.append(left[k]*right[k]) return answer - \ No newline at end of file