undefined
[프로그래머스] 다트게임 -자바스크립트(JS) 본문
반응형
문제 설명
문제 풀이
function solution(dartResult) {
let answer = []
let score = 0
for(let i=0;i<dartResult.length;i++) {
if(dartResult[i] <= 9 && dartResult[i] >= 0) {
if(dartResult[i] == 1 && dartResult[i+1] == 0) {
score = 10
i++
} else {
score = dartResult[i]
}
} else if(dartResult[i] === "S") {
answer.push(score ** 1)
} else if(dartResult[i] === "D") {
answer.push(score ** 2)
} else if(dartResult[i] === "T") {
answer.push(score ** 3)
} else if(dartResult[i] === "*") {
answer[answer.length-2] *=2
answer[answer.length-1] *=2
} else if(dartResult[i] === "#") {
answer[answer.length-1] *=-1
}
}
return answer.reduce((p,v) => p+v)
}
1. 전 값을 곱하거나 뺄 수 있으니 미리 더해주지 말고 배열에 저장
2. dartResult[i]가 숫자일 경우에 기본적으로 score에 저장 단, 10인 경우를 고려하여 1일때 다음값이 0 인경우에 score=10
3. 문자일 경우 정의
4. reduce를 활용하여 answer의 값 모두 더하기
배운 점
반응형
'Coding Test' 카테고리의 다른 글
[프로그래머스] 소수 만들기 -자바스크립트(JS) (0) | 2022.06.28 |
---|---|
[프로그래머스] 비밀지도 -JS (0) | 2022.06.27 |
[프로그래머스] 실패율 -JS (0) | 2022.06.25 |
[프로그래머스] 내적 - JS (0) | 2022.06.23 |
[프로그래머스] 키패드 누르기 -JS (0) | 2022.06.22 |
Comments