만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Moo 연산

면접 대비

시간 제한2초메모리 제한1024 MB

요약
M과 O로 이루어진 문자열을 양 끝 문자의 뒤집기와 삭제로 MOO로 만드는 최소 연산 횟수를 구합니다. 만들 수 없으면 -1을 출력합니다.
난이도

쉬움10점 중 3점

유형
문자열, 완전 탐색
정답자
아직 제출이 없습니다

문제

Bessie는 'C', 'O', 'W'로만 이루어진 평소의 문자열에 싫증이 났다. Farmer John은 그녀에게 'M'과 'O'로만 이루어진 새로운 문자열 QQ개(1≤Q≤1001 \leq Q \leq 100)를 주었다. Bessie가 가장 좋아하는 단어는 "MOO"이므로, 각 문자열을 아래 연산으로 "MOO"로 바꾸려고 한다.

  1. 맨 앞 또는 맨 뒤 문자를 반대 문자로 바꾼다('M'은 'O'가 되고, 'O'는 'M'이 된다).
  2. 맨 앞 또는 맨 뒤 문자를 삭제한다.

Bessie는 게을러서 필요한 것보다 많은 연산을 하고 싶어 하지 않는다. 각 문자열에 대해 "MOO"를 만드는 데 필요한 최소 연산 횟수를 구하라. 만들 수 없으면 −1-1을 출력하라.

입력

첫 줄에 QQ가 주어진다. 이어지는 QQ개의 줄에는 각각 'M'과 'O'로만 이루어진 문자열이 한 개씩 주어진다. 각 문자열의 길이는 1 이상 100 이하이다.

출력

각 문자열의 답을 한 줄에 하나씩 출력한다.

힌트

첫 번째 문자열을 "MOO"로 바꾸는 4번의 연산 순서는 다음과 같다.

마지막 문자를 O로 바꾼다 (연산 1)
첫 문자를 삭제한다 (연산 2)
첫 문자를 삭제한다 (연산 2)
첫 문자를 삭제한다 (연산 2)

두 번째 문자열은 "MOO"로 바꿀 수 없다. 세 번째 문자열은 이미 "MOO"이므로 연산이 필요 없다.

예제1

  1. 예제 1

    입력
    3
    MOMMOM
    MMO
    MOO
    
    예상 출력
    4
    -1
    0