From 70975ced439cf1a8ca86882a7d6974e15d724ec1 Mon Sep 17 00:00:00 2001 From: juhui Date: Sat, 3 Jan 2026 19:33:45 +0900 Subject: [PATCH 1/2] Week 08 solution commit --- .../juhui-jeong.java | 26 +++++++++++++++++++ reverse-bits/juhui-jeong.java | 22 ++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 longest-repeating-character-replacement/juhui-jeong.java create mode 100644 reverse-bits/juhui-jeong.java diff --git a/longest-repeating-character-replacement/juhui-jeong.java b/longest-repeating-character-replacement/juhui-jeong.java new file mode 100644 index 0000000000..0432a3f71f --- /dev/null +++ b/longest-repeating-character-replacement/juhui-jeong.java @@ -0,0 +1,26 @@ +/* + * 시간복잡도: O(n) + * 공간복잡도: O(1) +*/ +class Solution { + public int characterReplacement(String s, int k) { + int left = 0; + int[] freq = new int[26]; + int maxFreq = 0; + int ans = 0; + + for (int right = 0; right < s.length(); right++) { + int rIdx = s.charAt(right) - 'A'; + freq[rIdx]++; + maxFreq = Math.max(maxFreq, freq[rIdx]); + + while((right - left + 1) - maxFreq > k) { + int lIdx = s.charAt(left) - 'A'; + freq[lIdx]--; + left++; + } + ans = Math.max(ans, right - left + 1); + } + return ans; + } +} \ No newline at end of file diff --git a/reverse-bits/juhui-jeong.java b/reverse-bits/juhui-jeong.java new file mode 100644 index 0000000000..b0f92adb1d --- /dev/null +++ b/reverse-bits/juhui-jeong.java @@ -0,0 +1,22 @@ +/* + * 시간 복잡도: O(1) + * 공간 복잡도: O(1) + */ +class Solution { + + public static String toBinaryString(int value) { + String str = Integer.toBinaryString(value); + while (str.length() < 32) { + str = "0" + str; + } + return str; + } + + public int reverseBits(int n) { + String binaryString = toBinaryString(n); + String reversed = new StringBuilder(binaryString).reverse().toString(); + + int result = Integer.parseUnsignedInt(reversed, 2); + return result; + } +} \ No newline at end of file From 1faa71d8097ffd0361e5ff5285b1317a54226ff1 Mon Sep 17 00:00:00 2001 From: juhui Date: Sat, 3 Jan 2026 22:19:43 +0900 Subject: [PATCH 2/2] Week 08 --- longest-repeating-character-replacement/juhui-jeong.java | 2 +- reverse-bits/juhui-jeong.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/longest-repeating-character-replacement/juhui-jeong.java b/longest-repeating-character-replacement/juhui-jeong.java index 0432a3f71f..2984b03a50 100644 --- a/longest-repeating-character-replacement/juhui-jeong.java +++ b/longest-repeating-character-replacement/juhui-jeong.java @@ -23,4 +23,4 @@ public int characterReplacement(String s, int k) { } return ans; } -} \ No newline at end of file +} diff --git a/reverse-bits/juhui-jeong.java b/reverse-bits/juhui-jeong.java index b0f92adb1d..3a8dd1cae8 100644 --- a/reverse-bits/juhui-jeong.java +++ b/reverse-bits/juhui-jeong.java @@ -19,4 +19,4 @@ public int reverseBits(int n) { int result = Integer.parseUnsignedInt(reversed, 2); return result; } -} \ No newline at end of file +}