From 47ba1467a23e4087565e677c04812035b6439611 Mon Sep 17 00:00:00 2001 From: Yiseul Park Date: Wed, 8 Jul 2026 21:48:49 +0900 Subject: [PATCH 1/2] feat: 125. Valid Palindrome solution (cherry picked from commit d881c4df0b6226a9f1b52cb2ab9532de761f94c4) --- valid-palindrome/Yiseull.java | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 valid-palindrome/Yiseull.java diff --git a/valid-palindrome/Yiseull.java b/valid-palindrome/Yiseull.java new file mode 100644 index 000000000..f64e8668e --- /dev/null +++ b/valid-palindrome/Yiseull.java @@ -0,0 +1,31 @@ +class Solution { + public boolean isPalindrome(String s) { + /** + 첫 번째 풀이: 시간복잡도 O(n), 공간복잡도 O(n) + String letters = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase(); + String reverse = new StringBuilder(letters).reverse().toString(); + return letters.equals(reverse); + */ + + // 두 번째 풀이: 시간복잡도 O(n), 공간복잡도 O(1) + int left = 0, right = s.length() - 1; + while (left < right) { + while (left < right && !Character.isLetterOrDigit(s.charAt(left))) { + left++; + } + + while (left < right && !Character.isLetterOrDigit(s.charAt(right))) { + right--; + } + + if (Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))) { + return false; + } + + left++; + right--; + } + + return true; + } +} From 3ba4012055f492b34d5317354f6b727cbbeda181 Mon Sep 17 00:00:00 2001 From: Yiseul Park Date: Wed, 8 Jul 2026 22:44:46 +0900 Subject: [PATCH 2/2] feat: 191. Number of 1 Bits solution --- number-of-1-bits/Yiseull.java | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 number-of-1-bits/Yiseull.java diff --git a/number-of-1-bits/Yiseull.java b/number-of-1-bits/Yiseull.java new file mode 100644 index 000000000..921cc140e --- /dev/null +++ b/number-of-1-bits/Yiseull.java @@ -0,0 +1,5 @@ +class Solution { + public int hammingWeight(int n) { + return Integer.bitCount(n); + } +}