Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input){
- let x = input.shift()
- let obj = {}
- let disliked = 0
- while(x !== 'Stop'){
- let [act, name, meal] = x.split('-')
- if(act === 'Unlike'){
- if(!obj.hasOwnProperty(name)){
- console.log(`${name} is not at the party.`)
- }
- else{
- if(obj[name].indexOf(meal) === -1){
- console.log(`${name} doesn't have the ${meal} in his/her collection.`);
- }
- else{
- console.log(`${name} doesn't like the ${meal}.`);
- let index = obj[name].indexOf(meal)
- obj[name].splice(index, 1)
- disliked++
- }
- }
- }
- else if(act === 'Like'){
- if(!obj.hasOwnProperty(name)){
- obj[name] = []
- obj[name].push(meal)
- }
- else{
- if(obj[name].indexOf(meal) === -1){
- obj[name].push(meal) // тук го добавям само ако го няма в масива и без проверката ми гърмеше тест 7
- }
- }
- }
- x = input.shift()
- }
- let arr = Object.entries(obj)
- arr.sort((a, b) => b[1].length - a[1].length || a[0].localeCompare(b[0])) // сортирам първо по length и после по азбучен ред
- // arr.map(x => x[1] = [...new Set(x[1])]) по този начин махах еднаквите meal но ми гърмеше тест 7 (най-вероятно се пренареждат и judge го смята за различно)
- for(let i of arr){
- console.log(`${i[0]}: ${i[1].join(', ')}`);
- }
- console.log(`Unliked meals: ${disliked}`);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement