Advertisement
Ivankooo1

Task Planner

Feb 24th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(param){
  2.    let tasks = param.shift().split(' ').map(Number);
  3.    for(let element of param){
  4.      let [command,item,time] = element.split(' ');
  5.      
  6.      if(command === 'End'){
  7.        break;
  8.      }
  9.  
  10.      switch(command){
  11.        case 'Complete':
  12.          let index = +item;
  13.          if(index >= 0 && index < tasks.length){
  14.            if(tasks.includes(index)){
  15.               tasks.splice(index,1,0);
  16.            }
  17.          }
  18.        ;break;
  19.        case 'Change':
  20.          let ind = +item;
  21.          let timeTask = +time;
  22.          if(ind >= 0 && ind < tasks.length){
  23.            if(tasks.includes(ind)){
  24.               tasks.splice(ind,1,timeTask)
  25.            }
  26.          }
  27.  
  28.        ;break;
  29.        case 'Drop':
  30.          let indexHour = +item;
  31.          if(indexHour >= 0 && indexHour < tasks.length){
  32.            if(tasks.includes(indexHour)){
  33.               tasks.splice(indexHour,1,-1);
  34.            }
  35.          }
  36.        ;break;
  37.        case 'Count':
  38.          if(item === 'Completed'){
  39.            let countCompleted = tasks.filter(el => el === 0);
  40.            console.log(countCompleted.length);
  41.         }
  42.         else if(item === 'Incomplete'){
  43.            let countIncomplete = tasks.filter(el => el > 0);
  44.            console.log(countIncomplete.length);
  45.         }
  46.           else if(item === 'Dropped'){
  47.            let countDropped = tasks.filter(el => el < 0);
  48.            console.log(countDropped.length);
  49.          }
  50.        ;break;
  51.      }
  52.    }
  53.    let incompleteTasks = tasks.filter(el => el > 0);
  54.    console.log(incompleteTasks.join(' '))
  55. }
  56.  
  57. solve([
  58.   '1 -1 2 3 4 5',
  59.   'Complete 4',
  60.   'Change 0 4',
  61.   'Drop 3',
  62.   'Count Dropped',
  63.   'End'
  64. ]
  65. );
  66.  
  67. // solve([
  68. //     '1 2 3 4 5 4 0 3 2 1',
  69. //     'Complete 0',
  70. //     'Complete 1',
  71. //     'Complete 2',
  72. //     'Drop 3',
  73. //     'Change 4 1',
  74. //     'Count Completed',
  75. //     'End'
  76. //   ]
  77. //   )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement