[프로그래머스] 코딩테스트 연습 - 25

krkorklo·2022년 1월 31일
0

프로그래머스

목록 보기
25/78

level 1 - 다트 게임

이거도 문제가.. 기네...

입출력 예시
dartResult : 1S2D*3T
-> 37

function solution(dartResult) {
    var answer = 0;
    var result = [];
    
    var num_arr = dartResult.split(/[^\d]/g).filter((n) => n);
    var split_arr = dartResult.split(/\d/g).filter((s) => s);
    num_arr.forEach((n, i) => {
        if (split_arr[i].includes('S')) result.push(n);
        else if (split_arr[i].includes('D')) result.push(n ** 2);
        else result.push(n ** 3);
        
        if (split_arr[i].includes('*')) {
            result[i - 1] *= 2;
            result[i] *= 2;
        } else if (split_arr[i].includes('#')) {
            result[i] *= -1;
        }
    })
    return answer = result.reduce((acc, val) => { return acc + Number(val) }, 0);
}

마지막에 Number로 변환 안 해줘도 풀리는 예시가 있고 안 풀리는 예시가 있더라
그래서 일단 해줬다.

엄... 내일부터는 2단계를 풀어볼까 생각 중이다.
드디어
드으디이어

😅

0개의 댓글