티스토리 뷰

728x90
SMALL

풀이

function solution(dartResult) {
    let arr=[];
    for(let i=0;i<dartResult.length;i++){
        if(dartResult.slice(i,i+2)=="10"){
            arr.push(10);
            i++;
        } else if(!isNaN(dartResult[i])){
            arr.push(dartResult[i]*1)
        } else if(dartResult[i]==="D"){
            arr.splice(arr.length-1,1,Math.pow(arr[arr.length-1],2));
        } else if(dartResult[i]==="T"){
            arr.splice(arr.length-1,1,Math.pow(arr[arr.length-1],3));
        } else if(dartResult[i]==="*"){
            if(arr.length===1){
                arr.splice(arr.length-1,1,arr[arr.length-1]*2);
            }else{
                arr.splice(arr.length-2,2,arr[arr.length-2]*2,arr[arr.length-1]*2);
            }
        } else if(dartResult[i]==="#"){
            arr.splice(arr.length-1,1,arr[arr.length-1]*-1); 
        }
    }
    let answer=0;
    for(let i=0;i<arr.length;i++){
        answer+=arr[i];   
    }
    return answer;
}

지금 내실력으론 푸는게 겨우였다. 나중에 풀이를 깔끔하게 정리해서 올려야겠다.

문제가 생각해보면 간단한 문젠데 생각보다는 시간을 썼다.

728x90
LIST
댓글
공지사항