From ca075ef2d52e4d8a587ce3a09f7f58b863111473 Mon Sep 17 00:00:00 2001 From: JeonJe <43032391+JeonJe@users.noreply.github.com> Date: Mon, 6 Jul 2026 21:23:00 +0900 Subject: [PATCH 1/5] valid palindrome solution --- valid-palindrome/JeonJe.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 valid-palindrome/JeonJe.java diff --git a/valid-palindrome/JeonJe.java b/valid-palindrome/JeonJe.java new file mode 100644 index 0000000000..7892c22f6d --- /dev/null +++ b/valid-palindrome/JeonJe.java @@ -0,0 +1,23 @@ +import java.util.*; + +// TC: O(n) +// SC: O(n) +class Solution { + public boolean isPalindrome(String s) { + StringBuilder sb = new StringBuilder(); + + for (char c : s.toCharArray()) { + if (Character.isLetterOrDigit(c)) { + sb.append(Character.toLowerCase(c)); + } + } + + for (int i = 0; i < sb.length() / 2; i++) { + if (sb.charAt(i) != sb.charAt(sb.length() - 1 - i)) { + return false; + } + } + return true; + } + +} From f2a63f66383755512dbc96dc330106ba39a3a849 Mon Sep 17 00:00:00 2001 From: JeonJe <43032391+JeonJe@users.noreply.github.com> Date: Tue, 7 Jul 2026 22:19:03 +0900 Subject: [PATCH 2/5] number of 1 bits solution --- number-of-1-bits/JeonJe.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 number-of-1-bits/JeonJe.java diff --git a/number-of-1-bits/JeonJe.java b/number-of-1-bits/JeonJe.java new file mode 100644 index 0000000000..6199171708 --- /dev/null +++ b/number-of-1-bits/JeonJe.java @@ -0,0 +1,17 @@ +import java.util.*; + +// TC: O(1) +// SC: O(1) +class Solution { + public int hammingWeight(int n) { + int answer = 0; + + while (n != 0) { + if ((n & 1) == 1) { + answer++; + } + n = n >>> 1; + } + return answer; + } +} From d9cb218dddeea11442379a8f99201991bdf3ab1e Mon Sep 17 00:00:00 2001 From: JeonJe <43032391+JeonJe@users.noreply.github.com> Date: Wed, 8 Jul 2026 21:46:48 +0900 Subject: [PATCH 3/5] combination sum solution --- combination-sum/JeonJe.java | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 combination-sum/JeonJe.java diff --git a/combination-sum/JeonJe.java b/combination-sum/JeonJe.java new file mode 100644 index 0000000000..df6cda4a3e --- /dev/null +++ b/combination-sum/JeonJe.java @@ -0,0 +1,34 @@ +import java.util.*; + +// TC: O(n^(target/min)) +// SC: O(target/min) +class Solution { + private static List> answer; + + public List> combinationSum(int[] candidates, int target) { + answer = new ArrayList<>(); + + List bucket = new ArrayList<>(); + int curSum = 0; + + dfs(candidates, bucket, target, 0, 0); + + return answer; + } + + private void dfs(int[] candidates, List bucket, int target, int startIdx, int curSum) { + if (curSum == target) { + answer.add(new ArrayList<>(bucket)); + return; + } + if (curSum > target) + return; + + for (int i = startIdx; i < candidates.length; i++) { + bucket.add(candidates[i]); + dfs(candidates, bucket, target, i, curSum + candidates[i]); + bucket.removeLast(); + } + + } +} From 0e38495492c69bb8787684bb56ce7679a4ae9882 Mon Sep 17 00:00:00 2001 From: JeonJe <43032391+JeonJe@users.noreply.github.com> Date: Fri, 10 Jul 2026 00:06:30 +0900 Subject: [PATCH 4/5] decode ways solution --- decode-ways/JeonJe.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 decode-ways/JeonJe.java diff --git a/decode-ways/JeonJe.java b/decode-ways/JeonJe.java new file mode 100644 index 0000000000..ef960c1112 --- /dev/null +++ b/decode-ways/JeonJe.java @@ -0,0 +1,24 @@ +import java.util.*; + +// TC: O(n) +// SC: O(n) +class Solution { + public int numDecodings(String s) { + int n = s.length(); + int[] dp = new int[n + 1]; + dp[n] = 1; + + for (int i = s.length() - 1; i >= 0; i--) { + if (s.charAt(i) != '0') { + dp[i] = dp[i + 1]; + } + if (i + 1 < n) { + int twoDigit = Integer.parseInt(s.substring(i, i + 2)); + if (twoDigit >= 10 && twoDigit <= 26) { + dp[i] += dp[i + 2]; + } + } + } + return dp[0]; + } +} From 080d33e120cd96481b0e45dc300e9b4bd6be4d86 Mon Sep 17 00:00:00 2001 From: JeonJe <43032391+JeonJe@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:43:39 +0900 Subject: [PATCH 5/5] maximum subarray solution --- maximum-subarray/JeonJe.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 maximum-subarray/JeonJe.java diff --git a/maximum-subarray/JeonJe.java b/maximum-subarray/JeonJe.java new file mode 100644 index 0000000000..bac204ba47 --- /dev/null +++ b/maximum-subarray/JeonJe.java @@ -0,0 +1,20 @@ +import java.util.*; + +// TC: O(n) +// SC: O(n) +class Solution { + public int maxSubArray(int[] nums) { + int n = nums.length; + int[] dp = new int[n]; + + dp[n - 1] = nums[n - 1]; + int answer = dp[n - 1]; + + for (int i = n - 2; i >= 0; i--) { + dp[i] = Math.max(dp[i + 1] + nums[i], nums[i]); + answer = Math.max(answer, dp[i]); + } + + return answer; + } +}