프로그래머스 컨트롤제트 자바스크립트

버건디·2023년 4월 11일
0

프로그래머스

목록 보기
33/66

문제 링크

- 내 풀이

function solution(s) {
  var answer = 0;
  let splitZ = s.split(" ");

  if (!splitZ.includes("Z")) {
    answer = splitZ.reduce((a, b) => {
      return Number(a) + Number(b);
    }, 0);
  } else {
    for (let i = 0; i < splitZ.length; i++) {
      if (splitZ[i + 1] === "Z") {
        splitZ.splice(i, 2);
        i--;
      } else {
        answer += Number(splitZ[i]);
      }
    }
  }

  return answer;
}

- 다른 사람 풀이

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

  s.split(" ").forEach((target) => {
    if (target === "Z")
      stack.pop(); // 만약에 Z가 등장했다면, stack에서 맨 뒤에 요소를 제거
    else stack.push(+target);
  });

  return stack.length ? stack.reduce((pre, cur) => pre + cur) : 0;
}
profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글

관련 채용 정보