[TIL] 수 조작하기(1)

sooyoung choi·2023년 10월 25일
0

algorithm

목록 보기
6/10
post-thumbnail

🔍문제

정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다.


⌨️ 입출력 예시

ncontrolresult
0"wsdawsdassw"-1

🙋‍♀️ 내가 푼 방식

  • switch 써보기로 했음!
function solution(n, control) {
    let answer = n;
    
    for(let i = 0; i < control.length; i++){
        switch(control[i]){
            case "w":
                answer = answer + 1;
                break;
            case "s":
                answer = answer - 1;
                break;
            case "d":
                answer = answer + 10;
                break;
            case "a":
                answer = answer - 10;
                break;
            default:
        }
    }
    return answer;
}

👥 다른 사람이 푼 방식

  • reduce
  • spread operator
function 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)
}

0개의 댓글