Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solution(arr){
- let dailyTask = arr.shift().split(' ').map(Number);
- arr.forEach(function(element){
- if(element === 'End'){
- return;
- }
- let token = element.split(' ');
- let command = token.shift();
- switch(command){
- case 'Complete':
- let ind = +token[0];
- if(ind < 0 || ind >= dailyTask.length){
- break;
- }
- if(dailyTask.includes(ind)){
- dailyTask.splice(ind,1,0);
- }
- ;break;
- case 'Change':
- let index = +token[0];
- let tim = +token[1];
- if(index < 0 || index >= index.length){
- break;
- }
- if(dailyTask.includes(index)){
- dailyTask.splice(index,1,tim);
- }
- ;break;
- case 'Drop':
- let drop = +token[0];
- if(drop < 0 || drop >= drop.length){
- break;
- }
- if(dailyTask.includes(drop)){
- dailyTask.splice(drop,1,-1);
- }
- ;break;
- case 'Count':
- switch(token[0]){
- case 'Completed':
- let counter = 0;
- for(let completed of dailyTask){
- if(completed === 0){
- counter++
- }
- }
- console.log(counter)
- ;break;
- case 'Incomplete':
- let sumIncomplete = 0;
- for(let incomplete of dailyTask){
- if(incomplete > 0){
- sumIncomplete += incomplete;
- }
- }
- console.log(sumIncomplete)
- ;break;
- case 'Dropped':
- let sumDropped = 0;
- for(let dropped of dailyTask){
- if(dropped < 0){
- sumDropped += dropped;
- }
- }
- console.log(Math.abs(sumDropped));
- ;break;
- }
- ;break;
- }
- })
- let incompleteTask = [];
- for(let incompl of dailyTask){
- if(incompl > 0){
- incompleteTask.push(incompl)
- }
- }
- console.log(incompleteTask.join(' '))
- }
- solution([
- // '1 -1 2 3 4 5',
- // 'Complete 4',
- // 'Change 0 4',
- // 'Drop 3',
- // 'Count Dropped',
- // 'End'
- '1 2 3 4 5 4 0 3 2 1',
- 'Complete 0',
- 'Complete 1',
- 'Complete 2',
- 'Drop 3',
- 'Change 4 1',
- 'Count Completed',
- 'End',
- ])
Advertisement
Add Comment
Please, Sign In to add comment