인프런 커뮤니티 질문&답변

기하학곡선님의 프로필 이미지
기하학곡선

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 후위식 (postfix) 연산(스택)

코드리뷰 부탁드립니다.

작성

·

235

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

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

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

기하학곡선님의 프로필 이미지
기하학곡선

작성한 질문수

질문하기