프로그래머스 Lv.1 다트게임

Kim Jason·2023년 4월 3일
0

알고리즘 노트

목록 보기
24/35
post-thumbnail

2018 카카오 블라인드 채용

💁🏻 코드

function solution(dartResult) {
    let arr = [];
    let score;
    for (let i = 0; i < dartResult.length; i++) {
        if (!isNaN(dartResult[i])) {
            // ✅ 숫자인 경우
            score = Number(dartResult[i - 1]) === 1 ? 10 : Number(dartResult[i]);
            continue;
        }
        
        switch(dartResult[i]) {
            case 'S':
                arr.push(score);
                break;
            case 'D':
                arr.push(score ** 2);
                break;
            case 'T':
                arr.push(score ** 3);
                break;
            case '*':
                arr[arr.length - 2] *= 2;
                arr[arr.length - 1] *= 2;
                break;
            case '#':
                arr[arr.length - 1] *= -1;
                break;
        }
    }
    return arr.reduce((prev, curr) => prev + curr, 0);
}
profile
성장지향형 프론트엔드 개발자

0개의 댓글