본문 바로가기
코딩테스트(알고리즘)/프로그래머스

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

by Cafe Mocha 2022. 6. 24.

코딩테스트 연습 - [1차] 다트 게임 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - [1차] 다트 게임

 

programmers.co.kr


접근 : 구현

 

Javascript

function solution(dartResult) {
    var answer = 0;
    
    let s = dartResult.split("");
    let score =[];
    for(let i=0;i<s.length;i++){
        if(s[i]==="S"||s[i]==="D"||s[i]==="T"){
            let temp = s[i-1]==="0"&&s[i-2]==="1" ? Number(s[i-2]+s[i-1]) : +s[i-1];
            if(s[i]==="S") temp= temp**1;
            if(s[i]==="D") temp= temp**2;
            if(s[i]==="T") temp= temp**3;
            
            score.push(temp);
        } else if(s[i]==="*"||s[i]==="#"){
            score.push(s[i]);
        }
    }

    
    for(let i=0;i<score.length;i++){
        if(score[i]==="*"){
            if(i-1===0) {
                score[i-1]*=2;
                score.splice(i,1);
                i--;
                continue;
            }   
            score[i-2] *=2;
            score[i-1] *=2;
            score.splice(i,1);
            i--;
        } else if(score[i]==="#"){
            score[i-1] *=-1;
            score.splice(i,1);
            i--;
        }
    }
    

    
    answer = score.reduce((a,c)=>a+c);
    
    
    return answer;
}