Професионална програма
Loading...
Mateicho avatar Mateicho 3 Точки

5. Tseam account

Колеги нужна ми е малко помощ с тази задача https://pastebin.com/wE5qpbqC в  ми дава 90/100, което много ме изкарва извън нерви. Моля да споделите опита си какво правите като видите, че само един от тестовете ви гърми, има ли значение кой е, как се ориентирате къде може да ви е грешката, ползвате ли някакви екстеншъни, който да ви помагат и прочее. нейното условие :

1.  Tseam Account

As a gamer, Peter has Tseam Account. He loves to buy new games. You are given Peter's account with all of his games-> stringsseparated by space. Until you receive "Play!you will be receiving commands which Peter does with his account.`

You may receive the following commands:

  • Install {game}
  • Uninstall {game}
  • Update {game}
  • Expansion {game}-{expansion}

If you receive Install command, you should add the game at last position in the account, but only if it isn't installed already.

If you receive Uninstall commanddelete the game if it exists.

If you receive Update command, you should update the game if it exists and place it on last position.

If you receive Expansion command, you should check if the game exists and insert after it the expansion in the following format: "{game}:{expansion}";

Input

  • On the first input line you will receive Peter`s account - sequence of game names, separated by space.
  • Until you receive "Play!" you will be receiving commands

Output

  • As output you must print Peter`s Tseam account

Constraints

  • The command will always be valid.
  • The game and expansion will be strings and will contain any character, except '-'.
  • Allowed working time / memory100ms / 16MB.

Examples

Input

Output

Comments

['CS WoW Diablo',

'Install LoL',

'Uninstall WoW',

'Update Diablo',

'Expansion CS-Go',

'Play!']

CS CS:Go LoL Diablo

We receive the account => CS, WoW, Diablo

We Install LoL => CS, WoW, Diablo, LoL

Uninstall WoW => CS, Diablo, LoL

Update Diablo => CS, LoL, Diablo

We add expansion => CS, CS:Go, LoL, Diablo

We print the account.

['CS WoW Diablo',

'Uninstall XCOM',

'Update PeshoGame',

'Update WoW',

'Expansion Civ-V',

'Play!']

CS Diablo WoW

 

Тагове:
0
Fundamentals Module
willystyle avatar willystyle 2420 Точки
Best Answer

Когато си решил като цяло задачата, но някой тест не ти  е верен,  а задачата е разделена на частни случаи, предполага се, че един от тях се чупи. Почваш ги подред, може вътре в случая да пробваш да върнеш нещо грешно, за да провериш в judge дали от този случай се чупи решението. При теб още в първия кейс на Install, се забелязва че винаги пушваш в масива играта, ами ако вече я има, дали трябва да се добавя, пробваш да направиш  тази проверка и веднага дава 100, така че надолу не съм ти преглеждал решението :)

if (command === 'Install') {

    if (!acc.includes(game)) {

        acc.push(game);

    }

} ...

0
willystyle avatar willystyle 2420 Точки

т.е. пропуснал си условието: "If you receive Install command, you should add the game at last position in the account, but only if it isn't installed already."

0
Mateicho avatar Mateicho 3 Точки

Благодаря, а Вие лично как разбирате кои са частните случаи?

 

0
willystyle avatar willystyle 2420 Точки

Обикновено това са основните разклонения в логиката на задачата, но теорията не е силната ми страна и едва ли го формулирам добре. Истината е, че с опита нещата се избистрят и интуицията ти ще ги открива по-лесно... "решете 1000 задачи, и неусетно ще сте придобили солиден опит"... :)

0