문제 설명
정수 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값을 업데이트 합니다.
'자바스크립트' 카테고리의 다른 글
[JavaScript] 프로그래머 수열과 구간 쿼리 3 (0) | 2024.04.23 |
---|---|
[JavaScript] 프로그래머 수 조작하기2 (0) | 2024.04.22 |
[JavaScript] 프로그래머 마지막 두 원소 (0) | 2024.04.17 |
[JavaScript] 프로그래머 코드 처리하기 (0) | 2024.04.16 |
[JavaScript] 프로그래머 등차수열의 특정한 항만 더하기 (0) | 2024.04.15 |