BOJ 5525 파이썬

노영진·2023년 11월 27일
post-thumbnail

IOIOI

문자열 문제를 거의 풀어보지 않아서 맞게 푼 건지 잘 모르겠다.

🤔 접근

s문자열 안에 임의의 x에 대하여 가장 긴 Px를 찾고 그 Px들을 확인하면서 카운팅하는 식으로 풀었다.

💻 코드

# 5525
import sys
n = int(sys.stdin.readline())
m = int(sys.stdin.readline())
s = list(sys.stdin.readline().rstrip())

dp = []
flag = 0
for i in range(m):
    if i > 0 and s[i] == s[i-1] and flag:
        dp.append((flag-1) // 2)
        flag = 0

    if s[i] == 'I' and not flag:
        flag = 1
        continue
    
    if i > 0 and s[i] != s[i-1] and flag:
        flag += 1

if flag:
    dp.append((flag-1) // 2)

res = 0
for i in dp:
    if i >= n:
        res += (i-n+1)

print(res)

0개의 댓글