슬라이딩 윈도우
import sys
input = sys.stdin.readline
N, B, W = map(int, input().split())
stone = input().rstrip()
# 까만색 B개 이하, 흰색은W개 이상
left = 0
w_cnt = 0
b_cnt = 0
max_len = 0
for right in range(N):
if stone[right]=='W':
w_cnt += 1
else:
b_cnt += 1
while b_cnt > B:
if stone[left]=='W':
w_cnt -= 1
else:
b_cnt -= 1
left += 1
if w_cnt>=W:
max_len = max(max_len,right-left+1)
print(max_len)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 3783 세제곱근 (0) | 2021.08.23 |
---|---|
[백준][Python] 16954 움직이는 미로탈출 (0) | 2021.08.23 |
[백준][Python] 16926 배열돌리기 1 (0) | 2021.08.23 |
[백준][Python] 16432 떡장수와 호랑이 : 백트래킹 설계. (0) | 2021.08.22 |
[백준][Python] 15565 귀여운 라이언 (0) | 2021.08.22 |