프로그래머스 문자열 계산하기 자바스크립트

버건디·2023년 3월 10일
0

프로그래머스

목록 보기
19/66

문제 링크

- 내 풀이

function solution(my_string) {
  let splitWords = my_string.split(" ");
  let arr = [];

  for (let i = 0; i < splitWords.length; i++) {
    if (splitWords[i - 1] === "+") {
      let plusNum = splitWords[i] * 1;
      arr.push(plusNum);
    } else if (splitWords[i - 1] === "-") {
      let minusNum = splitWords[i] * -1;
      arr.push(minusNum);
    } else if (splitWords[i] === "-" || splitWords[i] === "+") {
      continue;
    } else {
      arr.push(Number(splitWords[i]));
    }
  }

  return arr.reduce((a, b) => {
    return a + b;
  }, 0);
}

- 다른 사람 풀이

function solution(my_string) {
    const stack = [];

    let sign = 1;
    for (const ch of my_string.split(" ")) {
        if (ch === "+") {
            sign = 1;
        } else if (ch === "-") {
            sign = -1;
        } else {
            stack.push(ch * sign);
        }
    }

    return stack.reduce((a,b) => a + b, 0);
}

이 풀이가 가독성이 더 좋아보인다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글

관련 채용 정보