[프로그래머스] 다트 게임 (javascript)
728x90
반응형
숫자 10만 예외 처리를 해주고 현재가 1이고 다음 수가 0일때는 10 (유일하게 두 글자인 숫자라 예외처리)
나머지는 주어진 조건대로 차근차근 수행한다.
function solution(dart) {
var answer = [];
for(let i=0;i<dart.length;i+=1){
if(dart[i]>='0' && dart[i]<='9'){
if(dart[i]=='1' && i+1<dart.length && dart[i+1]=='0'){
answer.push(10);
i+=1;
}else{
answer.push(+dart[i]);
}
}
if(dart[i]==='D'){
let last=answer[answer.length-1];
answer[answer.length-1]=Math.pow(last,2);
}else if(dart[i]==='T'){
let last=answer[answer.length-1];
answer[answer.length-1]=Math.pow(last,3);
}
if(dart[i]==='*'){
answer[answer.length-1]*=2;
if(answer.length>=2){
answer[answer.length-2]*=2;
}
}
if(dart[i]==='#'){
answer[answer.length-1]*=-1;
}
}
return answer.reduce((acc,cur)=>acc+cur,0);
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 메뉴 리뉴얼 (javascript) (0) | 2021.03.03 |
---|---|
[프로그래머스] 큰 수 만들기 (javascript, greedy) (0) | 2021.03.02 |
[프로그래머스] 비밀지도 (javascript) (0) | 2021.03.02 |
[프로그래머스] 실패율 (javascript) (0) | 2021.03.02 |
[프로그래머스] 신규 아이디 추천 ( javascript) (0) | 2021.03.02 |
TAGS.