[BOJ 6503] 망가진 키보드
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
3
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
상근이의 키보드가 망가졌다. 키보드의 일부 키는 작동을 해서 아직 입력을 할 수 있다. 상근이는 키보드의 레이아웃을 바꿔서 단어를 입력하려고 한다. 지금 키보드에서 작동하는 키의 개수는 m개이다.
상근이가 입력하려고 하는 문장이 주어졌을 때, 키보드의 레이아웃을 바꾸지 않고 입력할 수 있는 연속하는 문자의 최댓값을 구하는 프로그램을 작성하시오. 키보드의 한 키는 문자 하나에 매핑되고, 다른 키와 조합을 이용해서 문자를 입력할 수는 없다. 즉, 최대 m개의 서로 다른 문자로 이루어진 가장 긴 부분 문자열을 찾으면 된다.
입력 형식
입력은 여러 개의 테스트 케이스로 이루어져 있고, 각 테스트 케이스는 두 줄로 이루어져 있다. 테스트 케이스의 첫째 줄에는 m이 주어진다. (1 ≤ m ≤ 128) 둘째 줄에는 상근이가 입력하려고 하는 문장이 주어진다. 이 문장은 백만글자를 넘지 않으며, 공백을 포함할 수 있다. 공백도 문자로 생각하고 문제를 풀어야 한다.
입력의 마지막 줄에는 0이 하나 주어진다.
출력 형식
각 테스트 케이스에 대해서 최대 m개의 서로 다른 문자로 이루어진 가장 긴 부분 문자열의 길이를 출력한다.
예제 입력
5
This can't be solved by brute force.
1
Mississippi
0
예제 출력
7
2
Comments