문제 링크
풀이
슬라이딩 윈도우 문제이다.
a의 개수를 길이로 하는 구간을 잡아서 모든 구간에 대해 탐색하며 해당 구간에 속하는 b의 개수의 최솟값을 찾으면 된다.
Python 3 코드
더보기
S = input()
a = S.count('a')
ans = len(S)
for i in range(a - 1, len(S)):
ans = min(ans, S[i - a + 1:i + 1].count('b'))
for i in range(0, a - 1):
ans = min(ans, (S[i - a + 1:] + S[:i + 1]).count('b'))
print(ans)
'PS > boj' 카테고리의 다른 글
[BOJ] 1498 주기문 (0) | 2021.01.19 |
---|---|
[BOJ] 12760 최후의 승자는 누구? (0) | 2021.01.19 |
[BOJ] 17091 단어 시계 (0) | 2021.01.18 |
[BOJ] 10823 더하기 2 (0) | 2021.01.18 |
[BOJ] 1000 A+B (0) | 2021.01.17 |