자바스크립트

[JavaScript] 프로그래머 수 조작하기

코딩하는둥이 2024. 4. 19. 23:16

문제 설명

정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요.

입출력 예

n control result
0 "wsdawsdassw" -1

 

코드

const solution = (n, control) => {
    return [...control].reduce((acc,cur) =>{
        switch(cur){
              case 'w':
                return acc+1
            case 's':
                return acc-1
            case 'd':
                return acc+10
            case 'a':
                return acc-10
            default:
                return acc
        }
    },n)
}
 

설명

1) ... 전개 연산자를 사용하여 control을 개별 문자로 분리하여 배열을 만들어 줍니다.
2) cur에는 배열의 각 요소들이 들어가 있고 switch문을 사용하여 요소에 맞는 case에 도착했을 때 acc값을 업데이트 합니다.