5525.โ IOIOI
์ ๋ฐ์ดํธ ์๊ฐ : 2025-07-02 01:42:09 +0000[Silver I] IOIOI - 5525
์ฑ๋ฅ ์์ฝ
๋ฉ๋ชจ๋ฆฌ: 34368 KB, ์๊ฐ: 268 ms
๋ถ๋ฅ
๋ฌธ์์ด
์ ์ถ ์ผ์
2025๋ 7์ 2์ผ 10:41:54
๋ฌธ์ ์ค๋ช
N+1๊ฐ์ I์ N๊ฐ์ O๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด, I์ O์ด ๊ต๋๋ก ๋์ค๋ ๋ฌธ์์ด์ PN์ด๋ผ๊ณ ํ๋ค.
- P1
IOI - P2
IOIOI - P3
IOIOIOI - PN
IOIOI...OI(O๊ฐ N๊ฐ)
I์ O๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด S์ ์ ์ N์ด ์ฃผ์ด์ก์ ๋, S์์ PN์ด ๋ช ๊ตฐ๋ฐ ํฌํจ๋์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ S์ ๊ธธ์ด M์ด ์ฃผ์ด์ง๋ฉฐ, ์ ์งธ ์ค์ S๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
S์ PN์ด ๋ช ๊ตฐ๋ฐ ํฌํจ๋์ด ์๋์ง ์ถ๋ ฅํ๋ค.
๐ก Solutions
๐ IOIOI.py
import sys
input = sys.stdin.readline
n = int(input())
m = int(input())
s = input().strip()
count = 0 # ํ์ฌ๊น์ง 'OI'๊ฐ ๋ช ๋ฒ ๋ฐ๋ณต๋๋์ง
result = 0 # ๊ฒฐ๊ณผ: ๋ช ๊ฐ์ Pn ํจํด์ ์ฐพ์๋์ง
i = 0
while i < m - 1:
if s[i] == 'I' and s[i + 1] == 'O':
count = 0
while i + 2 < m and s[i + 1] == 'O' and s[i + 2] == 'I':
count += 1
i += 2 # 'OI' ๋จ์๋ก ๊ฑด๋๋
if count == n:
result += 1
count -= 1 # ์ค์ฒฉ ๊ณ ๋ ค
i += 1
else:
i += 1
print(result)