В аркадной версии игры Pac-Man ест пакоты. Однако в этом испытании он жаждет буквенно-цифровых символов и знаков препинания в строке.
Ваша задача - создать функцию, которая будет кормить Pac-Man строкой, оценивать, сможет ли он ее съесть или нет, и возвращает строку с указанием местоположения Pac-Man.
Pac-Man ( <
) поедает персонажей слева направо, оставляя подчеркивание или пробел для каждого персонажа по ходу, и его цель - добраться от первой позиции-1 до последней позиции + 1:
1. <Pac
2. _<ac
3. __<c
4. ___<
Тем не менее, естественный враг Pac-Man, призрак, остановит его, если он встретит одну из букв в слове «GHOST» (без учета регистра). Ваша функция должна возвращать строку с местоположением Pac-Man, когда он встречает ghost
персонажа:
1. <No!
2. _<o!
Единственное, что может победить призрака - это гранула. Если Pac-Man достигнет буквы в слове «ПЕЛЛЕТ» (также не чувствительной к регистру) перед тем, как прийти к призраку, он съест призрака и продолжит движение, и этот шарик будет израсходован. Силовые пеллеты могут складываться (то есть в ppgg
обоих призраков можно было бы съесть). Символ Т существует как призрак и шарик, поэтому его можно игнорировать (например, любую другую букву a
).
1. <Pop
2. _<op
3. __<p
4. ___<
Для дальнейшего уточнения, в строке «Pac-Man проигрывает здесь» выполняются следующие операции:
P <P, +1 Pellet (1 pellet)
a <a
c <c
- <-
M <M
a <a
n <n
<[space]
l <l, +1 Pellet (2 pellets)
o <o, -1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
e <e, +1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
<[space]
h <h, ghost wins, returns
e
r
e
Примеры
Input: Pacman wins!
Output: ____________<
Input: Pacman loses wah-wah :(
Output: _______________<h-wah :(
Input: PELLET PELLET GHOST
Output: ___________________<
Input: Hello World!
Output: <Hello World!
Input: <_!@12<_<_<
Output: ___________<
Это код-гольф - выигрывает самая низкая оценка в байтах.
<
символ ...