[프로그래머스] 문자열 계산하기.JS

ungnam·2023년 6월 5일

programmers level0

목록 보기
14/29
post-thumbnail

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];
}

✔ 연산자를 -11로 바꿀 수 있음에 주목
+1, --1를 반환한 후 그 뒤에 나오는 피연산자와 곱함

profile
꾸준함을 잃지 말자.

0개의 댓글