• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

코드리뷰 부탁드립니다.

23.09.06 23:02 작성 조회수 194

0

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s) {
        let answer;
        let stack = [];
        for (let x of s) {
          if (x === "+") {
            stack.push(stack.pop() + stack.pop());
          } else if (x === "-") {
            stack.push(stack.pop() - stack.pop());
          } else if (x === "*") {
            stack.push(stack.pop() * stack.pop());
          } else if (x === "/") {
            stack.push(stack.pop() / stack.pop());
          } else stack.push(Number(x));
        }
        answer = stack[0];
        return answer;
      }

      let str = "352+*9-";
      console.log(solution(str));
    </script>
  </body>
</html>

위에 같이 풀어도 상관 없을까요?

rt, lt변수를 사용하지 않고 그냥 바로바로 pop()한 값들을 계산하여 넣어줬습니다. 가독성이라던가 코드의 질(?) 측면에서 문제점이 있을까요?
감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 좋은 코드네요. 가독성이 더 좋아 보입니다.