카테고리 없음

[백준/Python] 5586번 JOI와 IOI

알 수 없는 사용자 2022. 3. 27. 12:18

문제

 

문제풀이

Python에서 일반적으로 특정문자의 개수를 세는 함수인 count함수를 쓰면 IOIOIOI같이 IOI가 중첩되어 나타나있는 문자열에서의 IOI의 수를 셀 때 버그가 일어날 수 있다. 따라서 반복문을 이용해 I다음 문자가 O이고 O다음 문자가 I인지를 판별해 IOI의 개수를 세야한다. JOI의 경우 맨 앞과 맨 끝의 문자가 다르므로 count함수를 이용해 JOI의 개수를 세도 된다.

import sys

IOI_count = 0
a = sys.stdin.readline()
a_li = list(a)
for i in range(len(a)):
    if a_li[i] == "I":
        if a_li[i+1] == "O":
            if a_li[i+2] == "I":
                IOI_count += 1

print("{}\n{}".format(a.count("JOI"), IOI_count))​