From 4e1d2b011a160e7935ccfa4040c0f2de3e834031 Mon Sep 17 00:00:00 2001 From: SuKyoung Date: Wed, 16 Apr 2025 07:19:54 +0900 Subject: [PATCH 1/2] add: #220 Valid Palindrome --- valid-palindrome/sukyoungshin.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 valid-palindrome/sukyoungshin.ts diff --git a/valid-palindrome/sukyoungshin.ts b/valid-palindrome/sukyoungshin.ts new file mode 100644 index 000000000..e2fdcfac4 --- /dev/null +++ b/valid-palindrome/sukyoungshin.ts @@ -0,0 +1,24 @@ +const alphaNumSet = new Set([..."abcdefghijklmnopqrstuvwxyz0123456789"]); + +function isPalindrome(s: string): boolean { + let normalized = ""; + + for (const characters of s) { + const lower = characters.toLowerCase(); + if (alphaNumSet.has(lower)) { + normalized += lower; + } + } + + let left = 0; + let right = normalized.length - 1; + while (left < right) { + if (normalized[left] !== normalized[right]) { + return false; + } + left++; + right--; + } + + return true; +} From feca8be404f0e01bd92a3625b7c1c9ee593890c8 Mon Sep 17 00:00:00 2001 From: SuKyoung Date: Wed, 16 Apr 2025 13:55:51 +0900 Subject: [PATCH 2/2] add: #232 Number of 1 Bits --- number-of-1-bits/sukyoungshin.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 number-of-1-bits/sukyoungshin.ts diff --git a/number-of-1-bits/sukyoungshin.ts b/number-of-1-bits/sukyoungshin.ts new file mode 100644 index 000000000..44bc4d14a --- /dev/null +++ b/number-of-1-bits/sukyoungshin.ts @@ -0,0 +1,13 @@ +function hammingWeight(n: number): number { + let count = 0; + let num = n; + + while (num > 0) { + if (num % 2 === 1) { + count++; + } + num = Math.floor(num / 2); + } + + return count; +};