🖥️Frontend/Programmers

[JavaScript] 수 조작하기 1

뉴발자 2024. 6. 3.
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

정수 n과 문자열 control이 매개변수로 주어진다.

 

control은 "w", "a", "s", "d" 4개의 문자로 이루어져 있으며 각 문자에 따라 n의 값을 바꾼다.

 

 • "w" : n이 1 커진다.

 • "s" : n이 1 작아진다.

 • "d" : n이 10 커진다.

 • "a" : n이 10 작아진다.

 

위 규칙에 따라 n을 바꿨을 때, 마지막 n의 값을 반환하는 함수를 작성하라.

728x90

 

 

나의 풀이

function solution(n, control) {
  // split 함수를 사용해서 각 문자의 갯수를 구한 후 조건 값을 곱해준다.
  let w = (control.split('w').length - 1) * 1;
  let s = (control.split('s').length - 1) * -1;
  let d = (control.split('d').length - 1) * 10;
  let a = (control.split('a').length - 1) * -10;
  
  return n + w + s + d + a;
}

 

 

다른 풀이

const operations = {
  w: (n) => n + 1,
  s: (n) => n - 1,
  d: (n) => n + 10,
  a: (n) => n - 10,
};

function solution(n, control) {
  return [...control].reduce((prev, op) => operations[op](prev), n);
}

 

 

 

 

 

 

 

 

 

 

728x90

댓글