공부기록/자바스크립트 코딩테스트
[프로그래머스/JS] 1차 다트게임
_우지
2022. 6. 22. 17:53
코딩테스트 연습 - [1차] 다트 게임
programmers.co.kr
배운점
dd[i] 는 '0' 문자 인데, 자바스크립트에서는 숫자와 비교연산을 할때 자동으로 형변환이 된다.
if(dd[i]>=0 && dd[i]<=9)
문제풀이
function solution(dartResult) {
var answer = 0;
let dd = dartResult
let ans = []
let idx = 0
for (let i=0; i<dd.length; i++){
// 자바스크립트의 자동 형변환 숫자와 비교할때의
if(dd[i]>=0 && dd[i]<=9){
if(dd[i]==1 && dd[i+1]==0){
i++
ans.push(10)
}
else{
ans.push(+dd[i])
}
}
else if(dd[i]=='S'){
ans[idx] = ans[idx]
idx ++
}
else if(dd[i]=='D'){
ans[idx] = ans[idx] *ans[idx]
idx ++
}
else if(dd[i]=='T'){
ans[idx] = ans[idx] *ans[idx] *ans[idx]
idx ++
}
else if(dd[i]=='*'){
if(idx==1){
ans[idx-1]*=2
}
else {
ans[idx-2]*=2
ans[idx-1]*=2
}
}
else if(dd[i]=='#'){
ans[idx-1]=-ans[idx-1]
}
}
ans.map(el=>answer+=el)
return answer;
}