- Описание
- Отправленные решения
250. Межпространство
Вы работаете в IASN, межгалактической организации упорядочивания всего вокруг. Фактически, вы производите и проверяете стандартные межгалактичекие коды. Это очень важная работа, ведь, используя такие коды, можно существенно упростить взаимодействие между различными межгалактическими сообществами и организациями.
Ваш руководитель на прошлой неделе закончил работу над очередной спецификацией и поставил вам задачу написать валидатор, который состоит из двух частей — функции разбора номера и функции проверки.
В состав кода входят:
- Код пространства: буквы от
G
доU
(кромеI
иJ
, их запретил Альянс) и три цифры от 3 до 8 (например,M368
) - Код отрасли:
B
,T
- Отраслевые субкоды, состав зависит от кода отрасли
- Произвольный числовой номер в 35-ричной системе: цифры и буквы (кроме
Z
) длиной от 1 до 24 символов - Просто буква
Z
, чтобы знать, где конец
Отраслевые субкоды зависят от отрасли и могут быть следующими:
- Биологическая — коды отрасли
B
- Форма жизни: Углеродная
C
, КремниеваяK
, МетановаяM
, БорнаяB
- Биологическое царство: Грибы
G
, ЖивотныеJ
, РастенияР
- Форма жизни: Углеродная
- Техногенная — код отрасли
T
- Форма жизни: Омники
O
, РоботыR
, СуперсистемыS
- Техногенное царство: Java
J
, V88
, МеханикаM
, ЭнергияE
- Форма жизни: Омники
Примеры:
O464TR849BM182BDZ
— ПространствоO464
, Техногенная, Роботы наV8
, ID экземпляра49BM182BD
U345BMG123456789ABCDEFZ
— ПространствоU345
, Биологическая, Метановые грибы, ID экземпляра123456789ABCDEF
Результат работы:
IASN | Результат |
---|---|
O464TR849BM182BDZ | ["O464", "T", "R8", "49BM182BD"] |
U345BMG123456789ABCDEFZ | ["U345", "B", "MG", "123456789ABCDEF"] |
Вам предстоит проверить номер на корректность, отсеять ненужные, из нужных получить необходимую информацию.
Формат ввода
Строка IASN
Формат вывода
Массив с 4-мя строками или null
в случае некорректных данных.
Примечание
В качестве решения предоставьте функцию следующего вида:
/** @returns Array<string|null> */
module.exports = function(inputString) {
// ваш код здесь
}
Ограничения
Ограничение времени
100 с
Ограничение памяти
64 МБ
Пример 1
G333TR81Z
["G333","T","R8","1"]