Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let products = [];
- input.forEach( el => {
- let [town, product, price] = el.split('|').map(x => x.trim());
- price = Number(price);
- let currentProduct = products.find(x => x.product === product);
- if (!currentProduct) {
- products.push({
- product,
- offers: [{
- town,
- price
- }]
- });
- return;
- }
- const currentTown = currentProduct.offers.find(x => x.town === town);
- if (!currentTown) {
- currentProduct.offers.push({
- town,
- price
- });
- return;
- }
- currentTown.price = price;
- });
- products.forEach( el => {
- const sortedTowns = el.offers.sort((a,b) => a.price - b.price);
- const lowestOffer = sortedTowns[0];
- console.log(`${el.product} -> ${lowestOffer.price} (${lowestOffer.town})`);
- })
- }
Add Comment
Please, Sign In to add comment