Skip to content

Commit 1d0a53f

Browse files
committed
solve: Longest Repeating Character Replacement
1 parent 04b2d9d commit 1d0a53f

File tree

2 files changed

+45
-8
lines changed

2 files changed

+45
-8
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"""
2+
Constraints:
3+
- 1 <= s.length <= 10^5
4+
- s consists of only uppercase English letters.
5+
- 0 <= k <= s.length
6+
7+
Time Complexity: O(n)
8+
- ์—ฌ๊ธฐ์„œ n์€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด
9+
10+
Space Complexity: O(1)
11+
- ์ถ”๊ฐ€ ๋ณ€์ˆ˜(left, right, max_length ๋“ฑ)๋Š” ์ƒ์ˆ˜ ๊ฐœ
12+
13+
ํ’€์ด๋ฐฉ๋ฒ•:
14+
1. Sliding Window๋กœ ๊ตฌ๊ฐ„์„ ๊ด€๋ฆฌ
15+
- right ํฌ์ธํ„ฐ๋กœ ๊ตฌ๊ฐ„์„ ๋Š˜๋ฆฌ๋‹ค๊ฐ€
16+
- ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š” ๋ฌธ์ž ์ˆ˜๊ฐ€ k๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด left ํฌ์ธํ„ฐ๋กœ ๊ตฌ๊ฐ„์„ ์ค„์ž„
17+
18+
2. ๊ฐ ๊ตฌ๊ฐ„์—์„œ:
19+
- ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•œ ๋ฌธ์ž๋กœ ๋‚˜๋จธ์ง€๋ฅผ ๋ณ€๊ฒฝ
20+
- (๊ตฌ๊ฐ„ ๊ธธ์ด - ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•œ ๋ฌธ์ž ์ˆ˜)๊ฐ€ k ์ดํ•˜์—ฌ์•ผ ํ•จ
21+
"""
22+
class Solution:
23+
def characterReplacement(self, s: str, k: int) -> int:
24+
counter = {}
25+
left = 0
26+
max_length = 0
27+
28+
for right in range(len(s)):
29+
counter[s[right]] = counter.get(s[right], 0) + 1
30+
31+
curr_length = right - left + 1
32+
33+
if curr_length - max(counter.values()) > k:
34+
counter[s[left]] -= 1
35+
left += 1
36+
37+
max_length = max(max_length, right - left + 1)
38+
39+
return max_length

โ€Žnumber-of-1-bits/KwonNayeon.pyโ€Ž

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@
1010
- count ๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ์ˆ˜ ๊ณต๊ฐ„ ๋ณต์žก๋„
1111
"""
1212
class Solution:
13-
def hammingWeight(self, n: int) -> int:
14-
count = 0
15-
while n:
16-
count += n & 1
17-
n >>= 1
18-
return count
19-
20-
13+
def hammingWeight(self, n: int) -> int:
14+
count = 0
15+
while n:
16+
count += n & 1 # ํ˜„์žฌ ๋งˆ์ง€๋ง‰ ๋น„ํŠธ๊ฐ€ 1์ธ์ง€ ํ™•์ธ
17+
n >>= 1 # ๋‹ค์Œ ๋น„ํŠธ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด ์˜ค๋ฅธ์ชฝ ์‹œํ”„ํŠธ
18+
return count

0 commit comments

Comments
ย (0)