Loading...
inaivanova1990 avatar inaivanova1990 33 Точки

6. Company Users

Здравейте, колеги!

 

https://pastebin.com/A2fA94fb

 

На пръв поглед всичко това решение сякаш е ок и нулевите тестове минават, но в judge не взимам никакви точки и получавам съобщение:

The process executing your submission for this test may not have received the output successfully. Please try to submit again the same solution. If the result does not change, then search the error in the submission itself.

 

Дали не взимам никакви точки, защото трябва да използвам други методи???

 

Write a function, which keeps the information about companies and their employees.

You will receive an array of strings containing the company name and employee's id. Add each employee to the given company. Keep in mind that a company cannot have two employees with the same id.

When you finish reading data, order the companies by their name in ascending order.

Print the company name and each employee's id in the following format:

{companyName}

-- {id1}

-- {id2}

-- {idN}

 

[

'SoftUni -> AA12345',

'SoftUni -> BB12345',

'Microsoft -> CC12345',

'HP -> BB12345'

]

HP

-- BB12345

Microsoft

-- CC12345

SoftUni

-- AA12345

-- BB12345

 

[

'SoftUni -> AA12345',

'SoftUni -> CC12344',

'Lenovo -> XX23456',

'SoftUni -> AA12345',

'Movement -> DD11111'

]

Lenovo

-- XX23456

Movement

-- DD11111

SoftUni

-- AA12345

-- CC12344

 

 

Доста време ми отне да направя това решение и ще съм много благодарна ако някой се включи!

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

All OK (100%) =>

function solve(input) {
    let arr = [];
    let createObj = input.map(el => {
        let obj = {};
        let [company, id] = el.split(' -> ');
        obj.company = company;
        obj.id = id;
        arr.push(obj);
    })

    let map = {};

    for (let i = 0; i < arr.length; i++) {
        let key = arr[i].company;
        let value = arr[i].id;

        if (key in map) {
            if (!map[key].includes(value)) {
                map[key].push(value);
            }
        } else {
            map[key] = [value];
        }
    }

    const ordered = Object.keys(map)
        .sort()
        .reduce((obj, key) => {
            obj[key] = map[key];
            return obj;
        }, {});

    for (let key in ordered) {
        if (ordered[key].length > 1) {
            console.log(key);
            console.log(`-- ${ordered[key].join('\n-- ')}`);
        } else {
            console.log(`${key}`);
            console.log(`-- ${ordered[key]}`);
            // console.log(`${key}-- ${ordered[key]}`);
        }
    }
}

 

1
inaivanova1990 avatar inaivanova1990 33 Точки

Много благодаря!

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