Окно - это квадрат ASCII-искусства с нечетной длиной стороны не менее 3, с границей из одного символа вокруг края, а также вертикальными и горизонтальными штрихами в середине:
#######
# # #
# # #
#######
# # #
# # #
#######
Окно MS - это окно, в котором граница состоит только из символов M
и S
. Ваша задача - написать программу (или функцию), которая принимает строку и выводит истинное значение, если вход является допустимым окном MS, и ложное значение, если это не так.
Характеристики
- Вы можете принять входные данные как строку, разделенную новой строкой, или массив строк, представляющих каждую строку.
- Граница окна MS может содержать смесь символов M и S, но внутренняя часть всегда будет состоять из пробелов.
- Вы можете выбрать обнаружение только окон с завершающими символами новой строки или только окон без завершающих строк, но не обоих.
Тестовые случаи
Truthy:
MMM
MMM
MMM
SMSMS
M M S
SMSMM
S S M
SMSMS
MMMMMMM
M S M
M S M
MSSSSSM
M S M
M S M
MMMMMMM
Falsey:
Hello, World!
MMMM
MSSM
MS M
MMMM
MMSMM
M S.M
sSSSS
M S M
MMSMM
MMMMMMM
M M M
MMMMMMM
M M M
MMMMMMM
MMMMMMM
M M M M
MMMMMMM
M M M M
MMMMMMM
M M M M
MMMMMMM
MMSSMSSMM
M M M
S S S
S S S
MMSSMSSMM
S S S
S S S
M M M
MMSSMSSMM