From 2f62efdc1c299301fd6ffca7c0ebb1cc201ead6d Mon Sep 17 00:00:00 2001 From: daiyongg-kim <134879427+daiyongg-kim@users.noreply.github.com> Date: Sun, 16 Nov 2025 13:20:00 -0800 Subject: [PATCH 1/7] adding valid-anagram --- valid-anagram/daiyongg-kim.py | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 valid-anagram/daiyongg-kim.py diff --git a/valid-anagram/daiyongg-kim.py b/valid-anagram/daiyongg-kim.py new file mode 100644 index 0000000000..c8fa590a9a --- /dev/null +++ b/valid-anagram/daiyongg-kim.py @@ -0,0 +1,44 @@ +class Solution: + def isAnagram(self, s: str, t: str) -> bool: + first = {} + second = {} + + for c in s: + if c in first: + first[c] += 1 + else: + first[c] = 1 + + for c in t: + if c in second: + second[c] += 1 + else: + second[c] = 1 + + return first == second + + +# class Solution: +# def isAnagram(self, s: str, t: str) -> bool: +# first = {} + +# if len(s) != len(t): +# return False + +# for i in range(len(s)): +# if s[i] in first: +# first[s[i]] += 1 +# else: +# first[s[i]] = 1 + +# for i in range(len(t)): +# if t[i] in first: +# first[t[i]] -= 1 +# else: +# return False + +# for i in first.values(): +# if i != 0: +# return False + +# return True From f2b5a1068830e7789f49d33651b71429df65265b Mon Sep 17 00:00:00 2001 From: Daiyong Kim Date: Sun, 16 Nov 2025 17:05:30 -0800 Subject: [PATCH 2/7] adding climbing stairs --- climbing-stairs/daiyongg-kim.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 climbing-stairs/daiyongg-kim.py diff --git a/climbing-stairs/daiyongg-kim.py b/climbing-stairs/daiyongg-kim.py new file mode 100644 index 0000000000..e69de29bb2 From 6d0e4b4c360346304cdfd68a20f5e3d2fd9fb392 Mon Sep 17 00:00:00 2001 From: Daiyong Kim Date: Sun, 16 Nov 2025 21:47:11 -0800 Subject: [PATCH 3/7] adding product-of-array-except-self --- product-of-array-except-self/daiyongg-kim.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 product-of-array-except-self/daiyongg-kim.py diff --git a/product-of-array-except-self/daiyongg-kim.py b/product-of-array-except-self/daiyongg-kim.py new file mode 100644 index 0000000000..8fb4aada49 --- /dev/null +++ b/product-of-array-except-self/daiyongg-kim.py @@ -0,0 +1,20 @@ +class Solution: + def productExceptSelf(self, nums: List[int]) -> List[int]: + + size = len(nums) + + #initialize array as 1 + result = [1] * size + + left_pass = 1 + + for i in range(size):A + result[i] *= left_pass + left_pass *= nums[i] + + right_pass = 1 + for i in range(size-1, -1, -1): + result[i] *= right_pass + right_pass *= nums[i] + + return result From bb52a49bf34549a395c68bbbfed4a8fe3c1a7a90 Mon Sep 17 00:00:00 2001 From: Daiyong Kim Date: Sun, 16 Nov 2025 21:49:32 -0800 Subject: [PATCH 4/7] adding climbing stairs --- climbing-stairs/daiyongg-kim.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/climbing-stairs/daiyongg-kim.py b/climbing-stairs/daiyongg-kim.py index e69de29bb2..326b74dadc 100644 --- a/climbing-stairs/daiyongg-kim.py +++ b/climbing-stairs/daiyongg-kim.py @@ -0,0 +1,13 @@ +class Solution: + def climbStairs(self, n: int) -> int: + if n == 1: + return 1 + + prev, curr = 1, 2 + + for i in range(3, n+1): + next = prev + curr + prev = curr + curr = next + + return curr \ No newline at end of file From ac0da2e9f9ce1b978df4728aa19df0f26d1276c1 Mon Sep 17 00:00:00 2001 From: Daiyong Kim Date: Sun, 16 Nov 2025 21:49:59 -0800 Subject: [PATCH 5/7] adding climbing stairs --- climbing-stairs/daiyongg-kim.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climbing-stairs/daiyongg-kim.py b/climbing-stairs/daiyongg-kim.py index 326b74dadc..51244ca29d 100644 --- a/climbing-stairs/daiyongg-kim.py +++ b/climbing-stairs/daiyongg-kim.py @@ -10,4 +10,4 @@ def climbStairs(self, n: int) -> int: prev = curr curr = next - return curr \ No newline at end of file + return curr From 86c5f80dc5cc25ac0efaf7098eb35b4108357741 Mon Sep 17 00:00:00 2001 From: daiyongg-kim <134879427+daiyongg-kim@users.noreply.github.com> Date: Tue, 18 Nov 2025 07:56:01 -0800 Subject: [PATCH 6/7] adding isValidBST --- validate-binary-search-tree/daiyongg-kim.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 validate-binary-search-tree/daiyongg-kim.py diff --git a/validate-binary-search-tree/daiyongg-kim.py b/validate-binary-search-tree/daiyongg-kim.py new file mode 100644 index 0000000000..ed11580103 --- /dev/null +++ b/validate-binary-search-tree/daiyongg-kim.py @@ -0,0 +1,18 @@ +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def isValidBST(self, root: Optional[TreeNode]) -> bool: + + def checkBST(root, min_val, max_val): + if not root: + return True + + if not (min_val < root.val < max_val): + return False + return checkBST(root.left, min_val, root.val) and checkBST(root.right, root.val, max_val) + + return checkBST(root, float('-inf'), float('inf')) From ba5559aeca9d7dc610f93b3a345d15e619fcc57e Mon Sep 17 00:00:00 2001 From: Daiyong Kim Date: Tue, 18 Nov 2025 20:45:52 -0800 Subject: [PATCH 7/7] adding 3sum --- 3sum/daiyongg-kim.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 3sum/daiyongg-kim.py diff --git a/3sum/daiyongg-kim.py b/3sum/daiyongg-kim.py new file mode 100644 index 0000000000..52caf14908 --- /dev/null +++ b/3sum/daiyongg-kim.py @@ -0,0 +1,36 @@ +class Solution: + def threeSum(self, nums: List[int]) -> List[List[int]]: + nums.sort() + + result = [] + n = len(nums) + + for i in range(n - 2): + + if i > 0 and nums[i] == nums[i - 1]: + continue + + left = i + 1 + right = n - 1 + while left < right: + current_sum = nums[i] + nums[left] + nums[right] + + if current_sum == 0: + result.append([nums[i], nums[left], nums[right]]) + + while left < right and nums[left] == nums[left + 1]: + left += 1 + + while left < right and nums[right] == nums[right - 1]: + right -= 1 + + left += 1 + right -= 1 + + elif current_sum < 0: + left += 1 + + else: + right -= 1 + + return result