[Programmers] 다트 게임

sunriseGong·2021년 3월 8일
0

나의 풀이

function solution(dartResult) {
    let arr = [];
    for (let i = 0; i < dartResult.length; i++) {
        let str = dartResult[i];
        if (0 <= str * 1 && str * 1 <= 9) {
            if (str === '1' && dartResult[i + 1] === '0') {
                arr.push(10)
                i++
            } else {
                arr.push(str * 1)
            }
        }
        if (str === 'D') {
            arr[arr.length - 1] = arr[arr.length - 1] ** 2
        }
        if (str === 'T') {
            arr[arr.length - 1] = arr[arr.length - 1] ** 3
        }
        if (str === '#') {
            arr[arr.length - 1] = arr[arr.length - 1] * (-1)
        }
        if (str === '*') {
            arr[arr.length - 1] = arr[arr.length - 1] * 2
            if (arr[arr.length - 2]) {
                arr[arr.length - 2] = arr[arr.length - 2] * 2
            }
        }
    }
    return arr.reduce((ac, cu) => ac + cu, 0);
}

문제설명과 입출력 예시는 링크로 대체 합니다.
https://programmers.co.kr/learn/courses/30/lessons/17682

profile
심심해야 공부하게 된다.

0개의 댓글