Lv.1 다트 게임

ujinujin·2022년 1월 27일
0

코딩테스트 뿌시기

목록 보기
19/57

🤖문제

👍 2022년 1월 27일

<script>
  const scoreCalculator = (bonus, scoreArr,idx) => {
      if (bonus === "S") return parseInt(scoreArr[idx])
      else if (bonus === "D") return parseInt(scoreArr[idx])**2
      else if (bonus === "T") return parseInt(scoreArr[idx])**3
  }

  function solution(dartResult) {
      let answer = 0;
      let scoreArr = dartResult.split(/[A-Z*#]/g);
      scoreArr = scoreArr.filter((val, i) => val !== "");
      let bonusArr = dartResult.split(/[0-9]/g);
      bonusArr = bonusArr.filter((val, i) => val !== "");

      let totalScore = [];
      bonusArr.filter((v, i) => {
          if (v === "S" || v==="D" || v==="T")  totalScore.push(scoreCalculator(v, scoreArr, i))
          else {
              totalScore.push(scoreCalculator(v[0], scoreArr, i));
              if (v.includes('*')) {
                  if (totalScore.length === 1) totalScore[0] *= 2;
                  else {
                      totalScore[i] *= 2;
                      totalScore[i-1] *= 2;
                  }
              }else if (v.includes("#")){
                  totalScore[i] *= -1;
              }
          }
      })

      answer = totalScore.reduce((acc, val) => acc + val);
      return answer;
  }
</script>
profile
백수와 취준생 그 사이 어디

0개의 댓글

관련 채용 정보