아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

문자열 나누기

면접 대비

시간 제한1초메모리 제한512 MB

요약
숫자 문자열을 leading zero가 없는 K개의 비어 있지 않은 연속 부분 문자열로 나누는 경우의 수를 1,000,000,007로 나눈 나머지로 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

숫자로 이루어진 문자열 S가 있다. 문자열 S를 K-1번 잘라 K개의 비어있지 않은 연속 부분 문자열로 나눌 때, 어떠한 연속 부분 문자열에도 leading zero가 없도록 나누는 경우의 수를 구해보자.

입력

첫째 줄에 문자열의 길이 N과 연속 부분 문자열의 개수 K가 주어진다. (1 ≤ K ≤ N ≤ 2,500)

둘째 줄에 문자열 S가 주어진다.

출력

첫째 줄에 경우의 수를 1,000,000,007로 나눈 나머지를 출력한다.

힌트

leading zero는 숫자로 이루어진 문자열에서 0을 제외한 첫 번째 숫자 앞에 오는 모든 숫자 0을 의미한다.

단, "0"은 leading zero에 해당하지 않는다.

예제3

  1. 예제 1

    입력
    5 3
    00300
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 2
    00200
    
    예상 출력
    0
    
  3. 예제 3

    입력
    5 4
    12345
    
    예상 출력
    4