package 알고리즘.백준.IOIOI
import java.io.BufferedReader
/**
*packageName : 알고리즘.백준.IOIOI
* fileName : Main
* author : ipeac
* date : 2024-03-01
* description :
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 2024-03-01 ipeac 최초 생성
*/
fun main() {
BufferedReader(System.`in`.reader()).use { br ->
val n = br.readLine().toInt()
val m = br.readLine().toInt()
val s = br.readLine()
var answer = 0
var patternCount = 0
var index = 0
while (index < m - 1) {
if (s[index] == 'I' && s[index + 1] == 'O' && index + 2 < m && s[index + 2] == 'I') {
patternCount++
if (patternCount == n) {
answer++
//패턴이 겹칠 가능성이 있기에, 카운트를 하나 줄인다. ( 이전 카운트를 기억할 수 있음 (효율))
patternCount--
}
index += 2
} else {
patternCount = 0
index++
// I 를 만날때까지 index를 증가시킨다.
while (index < m && s[index] != 'I') {
index++
}
}
}
println(answer);
}
}
Uploaded by N2T
'자바 > 알고리즘' 카테고리의 다른 글
[코틀린] 10866번 덱 (0) | 2024.03.02 |
---|---|
[코틀린] 21736 헌내기는 친구가 필요해 (0) | 2024.03.01 |
[알고리즘] 11659번: 구간 합 구하기 4 (0) | 2024.02.21 |
[알고리즘] 최소 신장 트리 || 최소 스피닝 트리 (MST) (0) | 2024.02.19 |
[알고리즘] 백준 1927 최소 힙 (0) | 2024.02.12 |