고연전/연고전 기차놀이
면접 대비시간 제한1초메모리 제한1024 MB
K와 Y로 이루어진 문자열을 길이가 L 이하이고 K와 Y의 개수 차이가 1 이하인 연속 구간으로 나눌 때, 구간 수의 최솟값을 구합니다.
문제
고려대학교와 연세대학교의 정기전인 고연전이 끝난 뒤 참살이길에 고려대와 연세대 학생이 총 명 모였다. 참살이길은 좁아서 학생들이 일렬로 서 있으며, 이들의 배열은 고려대생은 K, 연세대생은 Y로 표현된 길이 의 문자열로 주어진다.
학생들은 고연전 뒷풀이의 주요 행사 중 하나인 "기차놀이"를 위해 연속된 몇 개의 기차로 나뉘어야 한다. "기차"는 연속한 학생들을 모아 놓은 것이며, 전체 행렬을 몇 개의 기차로 분할한다. 뒷풀이는 두 학교 학생의 친목을 위한 행사이므로, 양교의 활발한 교류를 위해 각 기차에서 고려대 학생 수와 연세대 학생 수의 차이가 최대 1명이 되도록 나눈다.
기차가 너무 많으면 이동이 어려우므로 전체 행렬을 최소 개수의 기차로 나누려고 한다. 또한 기차가 너무 길면 참살이길의 교통이 혼잡해지므로, 각 기차의 길이는 을 넘지 않도록 한다.
이때 학생들의 배열이 주어지면, 위 조건을 만족하면서 전체 행렬을 나눌 수 있는 최소 기차 수를 구한다.
입력
첫 줄에 기차 행렬의 사람 수 과 각 기차의 최대 길이 이 공백으로 구분되어 주어진다.
두 번째 줄에는 기차 행렬이 길이 의 문자열로 주어진다. K는 고려대생을, Y는 연세대생을 의미한다.
출력
각 기차의 길이가 을 넘지 않으면서 전체 기차 행렬을 분할할 수 있는 최소 기차 수를 출력한다.