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

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

도어맨

면접 대비

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

요약
남녀 대기열과 한계 X가 주어질 때, 맨 앞이나 두 번째 사람을 들여보내면서 성별 차이가 X를 넘지 않도록 하며 최대로 들여보낼 수 있는 인원을 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 그리디, 구현, 배열
정답자
아직 제출이 없습니다

문제

정인이는 유명한 클럽의 도어맨이다. 클럽 사장은 클럽이 손님으로 가득 찼을 때, 안에 있는 남자와 여자의 수가 서로 비슷하게 유지되기를 바란다.

손님들은 클럽이 문을 열기 전부터 한 줄로 서서 기다린다. 문이 열리면 정인이가 손님을 한 명씩 들여보낸다. 기본적으로는 줄에 서 있는 순서대로 들여보내지만, 정인이는 재량껏 줄에서 두 번째에 서 있는 사람을 첫 번째 사람보다 먼저 들여보낼 수 있다. (첫 번째 사람보다 더 뒤에 있는 사람을 먼저 들여보낼 수는 없다.) 이렇게 순서를 바꾸면 새치기당한 사람이 짜증을 낼 수도 있지만, 정인이는 어떤 싸움에서도 지지 않으므로 신경 쓰지 않아도 된다.

정인이는 지금 클럽 안에 있는 남자 수와 여자 수의 차이(절댓값)를 늘 머릿속으로 세고 있어야 한다. 어떤 손님을 들여보내는 순간 이 차이가 정인이가 기억할 수 있는 최댓값 XX를 넘게 된다면, 그 손님은 들어갈 수 없다. 정인이는 앞서 말한 순서 바꾸기를 이용해 최대한 많은 손님을 들여보내려 한다. (순서를 어떻게 바꾸더라도) 더 이상 아무도 들여보낼 수 없게 되는 순간, 남은 손님들은 모두 입장하지 못한다.

줄을 서 있는 순서와 정인이가 기억할 수 있는 차이의 최댓값 XX가 주어졌을 때, 클럽에 들어갈 수 있는 손님 수의 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정인이가 기억할 수 있는 가장 큰 차이를 나타내는 정수 XX (0≤X<1000 \le X < 100) 가 주어진다. 둘째 줄에는 줄을 서 있는 순서를 나타내는 문자열이 주어진다. 이 문자열은 W(여성)와 M(남성)으로만 이루어지며, 길이는 최대 100100이다. 문자열의 가장 왼쪽 글자가 줄의 맨 앞에 서 있는 사람의 성별이다.

출력

클럽에 들어갈 수 있는 손님 수의 최댓값을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    1
    MWWMWMMWM
    
    예상 출력
    9
    
  2. 예제 2

    입력
    2
    WMMMMWWMMMWWMW
    
    예상 출력
    8