Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve (input) {
- var cities = {};
- var result = '';
- for (var index in input) {
- var line = input[index].split(' | ');
- var band = line[0];
- var city = line[1];
- var stadium = line[3];
- if (!(city in cities)) {
- cities[city] = {};
- }
- if (! (stadium in cities[city])){
- cities[city][stadium] = [];
- }
- if(cities[city][stadium].indexOf(band) === -1){
- cities[city][stadium].push(band);
- }
- }
- var sortedCities = [];
- for (var city in cities) {
- sortedCities.push(city);
- }
- sortedCities.sort();
- result += '{';
- for (var i = 0; i < sortedCities.length; i += 1) {
- var sortedStadiums = [];
- for (var stadium in cities[sortedCities[i]]) {
- sortedStadiums.push(stadium);
- }
- sortedStadiums.sort();
- var outputStadiums = '{'
- for(var j = 0; j < sortedStadiums.length; j += 1) {
- cities[sortedCities[i]][sortedStadiums[j]].sort();
- var outputConcerts = '';
- for(var concert in cities[sortedCities[i]][sortedStadiums[j]]) {
- outputConcerts += '"' + cities[sortedCities[i]][sortedStadiums[j]][concert] + '",';
- }
- outputConcerts = outputConcerts.substr(0, outputConcerts.length -1);
- outputStadiums += '"' + sortedStadiums[j] + '":[' + outputConcerts + '],';//'":[' + outputConcerts + ']},' ;
- }
- outputStadiums = outputStadiums.substr(0, outputStadiums.length - 1);
- outputStadiums += '}'
- result += '"' + sortedCities[i] + '":' + outputStadiums + ',';
- }
- result = result.substr(0, result.length - 1);
- result += '}';
- console.log(result)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement