Write a simple parser that will parse and run Deadfish.
Deadfish has 4 commands, each 1 character long:
Invalid characters should be ignored.
parse("iiisdoso") => [ 8, 64 ]
(요약) 문자열을 순회하면서 i면 +1, d면 -1, s면 제곱, o면 배열에 push하고, 마지막에 배열을 return
function parse( data ) { let num = 0; const answer = []; const calArr = ['i', 'd', 's', 'o']; const cal = { 0: (n, arr) => n + 1, 1: (n, arr) => n - 1, 2: (n, arr) => n * n } for(let k in data) { if(data[k] === 'o') { answer.push(num); } else if(calArr.includes(data[k])) { num = cal[calArr.indexOf(data[k])](num); } } return answer; }
i, d, s, o를 갖고 있는 배열을 하나 만들고,data를 반복문으로 순회하면서 해당 문자가 배열안에 있을 때,cal에서 해당하는 문자의index의 키값의 함수를 실행하게 함.
o면 정답 배열에push하게 함.