BOJ - 5525번 IOIOI (Python)

woga·2021년 1월 26일
0

python 풀이

목록 보기
24/27
post-thumbnail

문제 출처: https://www.acmicpc.net/problem/5525

난이도

Silver 2


풀이 방법

p1 = IOI
p2 = IOIOI -> IOI가 2번 반복
p3 = IOIOIOI -> IOI가 3번 반복
하기 때문에, index를 수를 증가해가며 IOI를 찾고 만약 이 패턴을 발견하면 index를 2번 옮긴다.

IOIOI 일 경우, IOI를 체크하고 2번 이동한 후에 IO, IOI를 체크해야하기 때문에 0으로 만들기보단 pattern -= 1 를 해준다


통과 코드

if __name__ == '__main__':
    N = int(input())
    M = int(input())
    string = input()
    index = 1
    answer = 0
    pattern = 0
    while index < M-1:
        if string[index-1] == 'I' and string[index] == 'O' and string[index+1] == 'I':
            pattern += 1
            if pattern == N:
                answer += 1
                pattern -= 1
            index += 1
        else:
            pattern = 0
        index += 1
    print(answer)
profile
와니와니와니와니 당근당근

0개의 댓글