프로그래머스[Level 1] 다트 게임 (KAKAO)

bkboy·2022년 6월 24일
0

문제


입력 형식

출력 형식

입출력 예제

풀이

function solution(dartResult) {
  let answer = [];
  let score = 0;

  for (let i = 0; i < dartResult.length; i++) {
    if (!isNaN(dartResult[i])) {
      score = +dartResult[i - 1] === 1 ? 10 : +dartResult[i];
    } else {
      if (dartResult[i] === "S") {
        answer.push(score);
      }
      if (dartResult[i] === "D") {
        answer.push(Math.pow(score, 2));
      }
      if (dartResult[i] === "T") {
        answer.push(Math.pow(score, 3));
      }

      if (dartResult[i] === "*") {
        answer[answer.length - 2] *= 2;
        answer[answer.length - 1] *= 2;
      }

      if (dartResult[i] === "#") {
        answer[answer.length - 1] *= -1;
      }
    }
  }

  console.log(answer);
  return answer.reduce((a, c) => a + c, 0);
}

문제의 조건대로 풀어내면 된다. 문자열을 잘 다뤄야겠다.

profile
음악하는 개발자

0개의 댓글