[프로그래머스] 코딩테스트 - [1차] 다트 게임 (Javascript)

아카시아·2021년 10월 1일
0

알고리즘

목록 보기
11/30

문제

출처 : https://programmers.co.kr/learn/courses/30/lessons/17682?language=javascript

풀이

function solution(dartResult) {
  let num = 0;
  let ans = [];
  let temp = 0;
  for (let i = 0; i < dartResult.length; i++) {
    if (dartResult[i] >= 0 && dartResult[i] <= 9) {
      if (dartResult[i] == 1 && dartResult[i + 1] == 0) {
        temp = 10;
        i++;
      } else {
        temp = dartResult[i];
      }
    } else if (dartResult[i] === "S") {
      ans.push(temp);
    } else if (dartResult[i] === "D") {
      ans.push(temp ** 2);
    } else if (dartResult[i] === "T") {
      ans.push(temp ** 3);
    } else if (dartResult[i] == "#") {
      ans[ans.length - 1] *= -1;
    } else if (dartResult[i] == "*") {
      ans[ans.length - 1] *= 2;
      ans[ans.length - 2] *= 2;
    }
  }
  for (let i = 0; i < ans.length; i++) {
    num += Number(ans[i]);
  }
  return num;
}
profile
낭만적인 개발자

0개의 댓글