[코딩테스트] JavaScript/[코테] 프로그래머스

[프로그래머스 / JS 코테] Lv.0 / 181926 : 수 조작하기 1

jini-dev 2025. 1. 7. 10:06
SMALL

수 조작하기 1 (링크)

문제 설명

정수 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 함수를 완성해 주세요.


제한사항
  • -100,000 ≤ n ≤ 100,000
  • 1 ≤ control의 길이 ≤ 100,000
    • control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다.
입출력 예
control  result
0 "wsdawsdassw" -1

입출력 예 #1
수 n은 control에 따라 다음과 같은 순서로 변하게 됩니다.0 → 1 → 0 → 10 → 0 → 1 → 0 → 10 → 0 → -1 → -2 → -1따라서 -1을 return 합니다.

 

문제 풀이

for of 문을 사용하여  control 문자열을 순회 시켰다.

순회하면서 1개의 문자 값이 각각 w, s, d, a 인경우 n의 값에 +1, -1, +10, -10 를 적용해서 최종 n의 값을 반환했다.

function solution(n, control) {
    for (item of control) {
        if (item === "w") { // w 값이면 n을 +1
            n += 1;
        } else if (item === "s") { // s 값이면 n을 -1
            n -= 1;
        } else if (item === "d") { // d 값이면 n을 +10
            n += 10;
        } else if (item === "a") { // a 값이면 n을 -10
            n -= 10;
        }
    }
    return n; // 최종 n 값 반환
}
LIST