주어진 이름에서 자음이 n개 이상 연속된 구간을 포함한 부분 문자열 개수를 구합니다.
쉬움3문자열투 포인터면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB영어 알파벳 26글자는 모음과 자음으로 나뉜다. 이 문제에서는 a, e, i, o, u를 모음으로 보고, 나머지 21글자를 자음으로 본다.
거대하고 알록달록한 정글에 사는 한 부족은 구성원의 이름을 영어 알파벳으로 짓는 전통이 있다. 이름이 부족 안에서의 사회적 지위를 나타내기 때문에, 새 구성원에게 좋은 이름을 지어 주기가 쉽지 않다. 이 부족은 흔하지 않은 이름을 받은 사람일수록 지위가 높다고 믿는다.
부족장은 전문 언어학자다. 부족장은 발음하기 어려운 이름이 흔하지 않다는 사실을 알아냈고, 그 원인이 자음이 너무 여러 개 연달아 나오는 데 있다고 보았다. 그래서 부족장은 구성원의 사회적 지위를 n-값으로 정한다고 선언했다. n-값은 이름의 부분 문자열 중 자음이 n개 이상 연속으로 들어 있는 것의 개수다. 예를 들어 n=3일 때 이름 quartz의 n-값은 4다. 부분 문자열 quartz, uartz, artz, rtz가 각각 자음 3개를 연속으로 포함하기 때문이다. n-값이 클수록 부족에서의 지위가 높다.
시작 위치나 끝 위치가 다르면 글자가 같아도 서로 다른 부분 문자열로 센다. 예를 들어 tsetse에는 자음이 2개 이상 연속으로 들어 있는 부분 문자열이 11개 있는데, 앞쪽 tse와 뒤쪽 tse처럼 글자가 같은 것도 따로 센다.
부족의 모든 구성원은 부족장에게서 이름과 n을 함께 받는다. 부족장은 언어학자라서 뜻이 통하는 이름을 지을 수 있지만 계산에는 약하다. 각 이름의 n-값을 구하라. 이름마다 n이 다를 수 있다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 한 줄이며, 길이가 L인 구성원의 이름과 정수 n이 공백 하나로 구분되어 주어진다. 이름은 소문자 영어 알파벳으로만 이루어진다.
제한
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 그 이름의 n-값이다.