diff --git a/combination-sum/daiyongg-kim.py b/combination-sum/daiyongg-kim.py new file mode 100644 index 0000000000..a5b304628f --- /dev/null +++ b/combination-sum/daiyongg-kim.py @@ -0,0 +1,26 @@ +class Solution: + def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]: + candidates.sort() + result = [] + + def backtracking(start_index, current_combination, current_sum): + if current_sum == target: + result.append(list(current_combination)) + return + + if current_sum > target: + return + + for i in range(start_index, len(candidates)): + candidate = candidates[i] + + if current_sum + candidate > target: + break + + current_combination.append(candidate) + backtracking(i, current_combination, current_sum + candidate) + + current_combination.pop() + + backtracking(0, [], 0) + return result diff --git a/decode-ways/daiyongg-kim.py b/decode-ways/daiyongg-kim.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/maximum-subarray/daiyongg-kim.py b/maximum-subarray/daiyongg-kim.py new file mode 100644 index 0000000000..c1f4ecb7f2 --- /dev/null +++ b/maximum-subarray/daiyongg-kim.py @@ -0,0 +1,10 @@ +class Solution: + def maxSubArray(self, nums: List[int]) -> int: + current_sum = nums[0] + max_sum = nums[0] + + for i in range(1, len(nums)): + current_sum = max(nums[i], current_sum + nums[i]) + max_sum = max(current_sum, max_sum) + + return max_sum diff --git a/number-of-1-bits/daiyongg-kim.py b/number-of-1-bits/daiyongg-kim.py new file mode 100644 index 0000000000..e16599eee6 --- /dev/null +++ b/number-of-1-bits/daiyongg-kim.py @@ -0,0 +1,10 @@ +class Solution: + def hammingWeight(self, n: int) -> int: + cnt = 0 + + while n != 0: + if n & 1: + cnt += 1 + n = n >> 1 + + return cnt diff --git a/valid-palindrome/daiyongg-kim.py b/valid-palindrome/daiyongg-kim.py new file mode 100644 index 0000000000..b1621bb3b3 --- /dev/null +++ b/valid-palindrome/daiyongg-kim.py @@ -0,0 +1,4 @@ +class Solution: + def isPalindrome(self, s: str) -> bool: + s = re.sub(r'[^0-9A-Za-z]', '',s).lower() + return s == s[::-1]