Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ironGirder(input) {
- let result = {};
- while ((line = input.shift()) !== 'Slide rule') {
- let [town, timeOrAmbush, passendgers] = line.split(/\:|\->/);
- passendgers = Number(passendgers);
- if (timeOrAmbush !== 'ambush') {
- let time = Number(timeOrAmbush);
- if (!result[town]) {
- result[town] = {
- time: 0,
- passendgers: 0
- }
- }
- if (result[town].time === 0 || result[town].time > time) {
- result[town].time = time;
- }
- result[town].passendgers += passendgers;
- } else {
- if (result[town]) {
- result[town].time = 0;
- result[town].passendgers -= passendgers;
- }
- }
- }
- Object.entries(result)
- .filter(town => town[1].time !== 0)
- .sort((a, b) => { return a[1].time - b[1].time || a[0].localeCompare(b[0]) })
- .forEach(town =>
- console.log(`${town[0]} -> Time: ${town[1].time} -> Passengers: ${town[1].passendgers}`));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement