
https://school.programmers.co.kr/learn/courses/30/lessons/120902
function solution(my_string) {
my_string = my_string.split(" ");
while (my_string.length > 1) {
const [left, op, right] = my_string.splice(0, 3);
(op === "+")
? my_string.unshift(+left + (+right));
: my_string.unshift(left - right);
}
return my_string[0];
}
✔ 최종 결과가 나올 때까지 반복
✔ 좌측에 위치한 피연산자 2개와 연산자 1개를 splice한 후 계산 결과를 다시 my_string 배열에 unshift
function solution(my_string) {
return eval(my_string);
}
✔ eval : 문자열로 된 표현식을 받아 코드로 실행하여 결과를 돌려줌
❗ eval의 경우 해커가 위험한 코드를 사용할 수 있기 때문에 사용에 주의한다.
function solution(my_string) {
my_string = my_string.split(" ");
while (my_string.length > 1) {
my_string.unshift(+my_string.shift() + (my_string.shift() === "+" ? 1 : -1) * my_string.shift());
}
return my_string[0];
}
✔ 연산자를 -1과 1로 바꿀 수 있음에 주목
✔ +면 1, -면 -1를 반환한 후 그 뒤에 나오는 피연산자와 곱함