From 26ce2919bc9eed9a82b45ac86e06a57d3e1c49c2 Mon Sep 17 00:00:00 2001 From: hyeok Date: Tue, 25 Nov 2025 00:43:22 +0900 Subject: [PATCH 1/5] valid-palindrom solution --- valid-palindrome/dylan-jung.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 valid-palindrome/dylan-jung.cpp diff --git a/valid-palindrome/dylan-jung.cpp b/valid-palindrome/dylan-jung.cpp new file mode 100644 index 0000000000..5f2b15a3d6 --- /dev/null +++ b/valid-palindrome/dylan-jung.cpp @@ -0,0 +1,22 @@ +class Solution { +public: + bool isPalindrome(string s) { + string p; + for(char const& c: s) { + if('A' <= c && c <= 'Z') { + p.push_back(c - 'A' + 'a'); + } + else if('a' <= c && c <= 'z') { + p.push_back(c); + } + else if ('0' <= c && c <= '9') { + p.push_back(c); + } + } + int start = 0, end = p.size()-1; + while(start <= end) { + if(p[start++] != p[end--]) return false; + } + return true; + } +}; From 139e89d8237880a42c5d5013935594a21c1fa357 Mon Sep 17 00:00:00 2001 From: hyeok Date: Tue, 25 Nov 2025 00:44:50 +0900 Subject: [PATCH 2/5] num of 1 bits solution --- number-of-1-bits/dylan-jung.cpp | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 number-of-1-bits/dylan-jung.cpp diff --git a/number-of-1-bits/dylan-jung.cpp b/number-of-1-bits/dylan-jung.cpp new file mode 100644 index 0000000000..e3afb85738 --- /dev/null +++ b/number-of-1-bits/dylan-jung.cpp @@ -0,0 +1,6 @@ +class Solution { +public: + int hammingWeight(int n) { + return popcount((unsigned int)n); + } +}; From 17c86e82d6ec01266acabaebd778295a9c5ea9ce Mon Sep 17 00:00:00 2001 From: hyeok Date: Tue, 25 Nov 2025 00:45:48 +0900 Subject: [PATCH 3/5] comb sum solutions --- combination-sum/dylan-jung.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 combination-sum/dylan-jung.cpp diff --git a/combination-sum/dylan-jung.cpp b/combination-sum/dylan-jung.cpp new file mode 100644 index 0000000000..526351653b --- /dev/null +++ b/combination-sum/dylan-jung.cpp @@ -0,0 +1,24 @@ +class Solution { +public: + vector> ans; + vector candids; + int t; + + void dfs(int idx, int sum, vector s) { + if(sum > t) return; + else if (sum == t) ans.push_back(s); + + for(int i = idx; i < candids.size(); i++) { + auto next = vector(s); + next.push_back(candids[i]); + dfs(i, sum+candids[i], next); + } + }; + + vector> combinationSum(vector& candidates, int target) { + candids = candidates; + t = target; + dfs(0, 0, {}); + return ans; + } +}; From e587e27a91eb76b07682488c5b2a996c27783822 Mon Sep 17 00:00:00 2001 From: hyeok Date: Tue, 25 Nov 2025 00:46:39 +0900 Subject: [PATCH 4/5] decode ways solution --- decode-ways/dylan-jung.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 decode-ways/dylan-jung.cpp diff --git a/decode-ways/dylan-jung.cpp b/decode-ways/dylan-jung.cpp new file mode 100644 index 0000000000..13ee0ce1d8 --- /dev/null +++ b/decode-ways/dylan-jung.cpp @@ -0,0 +1,38 @@ +class Solution { +public: + int mem[100]; + string str; + + bool isValid(string s) { + if(s.size() == 1) { + return '1' <= s[0] && s[0] <= '9'; + } + else if(s.size() == 2) { + if(s[0] == '1') return '0' <= s[1] && s[1] <= '9'; + else if(s[0] == '2') return '0' <= s[1] && s[1] <= '6'; + } + return false; + } + + int dfs(int idx) { + if(idx >= str.size()) return 1; + + int& ret = mem[idx]; + if(ret != -1) return ret; + ret = 0; + + if (isValid(str.substr(idx, 1))){ + ret += dfs(idx+1); + } + if (idx < str.size() - 1 && isValid(str.substr(idx, 2))){ + ret += dfs(idx+2); + } + return ret; + } + + int numDecodings(string s) { + str = s; + fill(mem, mem+100, -1); + return dfs(0); + } +}; From 28d2fcc30a79d3c81d5f3606a2ad752190e29332 Mon Sep 17 00:00:00 2001 From: hyeok Date: Tue, 25 Nov 2025 00:47:30 +0900 Subject: [PATCH 5/5] maximum subarray solution --- maximum-subarray/dylan-jung.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 maximum-subarray/dylan-jung.cpp diff --git a/maximum-subarray/dylan-jung.cpp b/maximum-subarray/dylan-jung.cpp new file mode 100644 index 0000000000..2c1987a653 --- /dev/null +++ b/maximum-subarray/dylan-jung.cpp @@ -0,0 +1,15 @@ +class Solution { +public: + int maxSubArray(vector& nums) { + int dp[100000]; + dp[0] = max(nums[0], -(1<<30)); + for(int i = 1; i < nums.size(); i++) { + dp[i] = max(dp[i-1] + nums[i], nums[i]); + } + int m = dp[0]; + for(int i = 1; i < nums.size(); i++) { + m = max(dp[i], m); + } + return m; + } +};