Loading...
+ Нов въпрос
inaivanova1990 avatar inaivanova1990 33 Точки

3. Piccolo

Здравейте, отново! :)))

 

От известно време се мъча с тази задача и още не знам защо имам само 20 точки на нея...

 

https://pastebin.com/qgwRqus2

 

Write a function that:

  • Records a car number for every car that enters the parking lot
  • Removes a car number when the car goes out
  • Input will be an array of strings in format [direction, carNumber]

Print the output with all car numbers which are in the parking lot sorted in ascending by number.

If the parking lot is empty, print: "Parking Lot is Empty".

Examples

Input

Output

['IN, CA2844AA',

'IN, CA1234TA',

'OUT, CA2844AA',

'IN, CA9999TT',

'IN, CA2866HI',

'OUT, CA1234TA',

'IN, CA2844AA',

'OUT, CA2866HI',

'IN, CA9876HH',

'IN, CA2822UU']

CA2822UU

CA2844AA

CA9876HH

CA9999TT

['IN, CA2844AA',

'IN, CA1234TA',

'OUT, CA2844AA',

'OUT, CA1234TA']

Parking Lot is Empty

Тагове:
0
Fundamentals Module
Axiomatik avatar Axiomatik 2401 Точки
Best Answer
        if (!acc.hasOwnProperty(carNumber)) {
            acc[carNumber] = 1;
        } else {
            // check for 'IN' and 'OUT' commands !
            acc[carNumber]++;
        }

 

function solve(input) {
    let obj = {};

    obj = input.reduce((acc, cur) => {
        let [command, carNumber] = cur.split(', ');

        if (acc.hasOwnProperty(carNumber)) {
            if (command === 'OUT') {
                acc[carNumber] = 'out';
            }else if (command === 'IN') {
                acc[carNumber] = 'parked';
            }
        } else {
            if (command === 'IN') {
                acc[carNumber] = 'parked';
            }
        }

        return acc;
    }, {});

    obj = Object.entries(obj)
        .filter(([carNumber, status]) => {

            if (status ===  'parked') {
                return carNumber;
            }
        })
        .map(el => el[0])
        .sort((a, b) => a.localeCompare(b))

    if (obj.length > 0) {
        console.log(obj.join('\n'));
    } else {
        console.log('Parking Lot is Empty');
    }
}

;-)

1
cara123 avatar cara123 0 Точки

Вместо да използвате if и else, Pizza Tower за да проверявате дали колата е в паркинга, можете да използвате Set или Map структура за да поддържате всички автомобили, които в момента са в паркинга. Например, може да използвате Set и да добавите всеки нов автомобил, който влиза в паркинга, а да изтриете автомобила, който излиза. По този начин ще спестите много повторения и ще улесните работата на вашия код.

-1
bekean avatar bekean -3 Точки

Това е силно и провокиращо subway surfers online размисъл парче, което ще остане с мен за дълго време.

-1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.