Advertisement
nikolayneykov

Untitled

Apr 12th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve (params) {
  2.   let regex = /^([a-z!@#$?]+)=(\d+)--(\d+)<<([a-z]+)$/
  3.   let organisms = {}
  4.  
  5.   params.slice(0, params.length - 1).forEach(param => {
  6.     let match = param.match(regex)
  7.     if (match) {
  8.       let [geneName, nameLength, countOfGenes, organism] = [
  9.         match[1].replace(/[^a-z]/g, ''),
  10.         match[2],
  11.         match[3],
  12.         match[4]
  13.       ]
  14.  
  15.       if (geneName.length === +nameLength) {
  16.         if (!organisms.hasOwnProperty(organism)) {
  17.           organisms[organism] = 0
  18.         }
  19.  
  20.         organisms[organism] += +countOfGenes
  21.       }
  22.     }
  23.   })
  24.  
  25.   Object.entries(organisms)
  26.     .sort((a, b) => b[1] - a[1])
  27.     .forEach(([name, count]) => {
  28.       console.log(`${name} has genome size of ${count}`)
  29.     })
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement