정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다.
주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요.
function solution(numLog) {
let result = "";
for (let i = 1; i < numLog.length; i++) {
if (numLog[i - 1] + 1 === numLog[i]) {
result += "w";
} else if (numLog[i - 1] - 1 === numLog[i]) {
result += "s";
} else if (numLog[i - 1] + 10 === numLog[i]) {
result += "d";
} else if (numLog[i - 1] - 10 === numLog[i]) {
result += "a";
}
}
return result;
}
다소 정석적인 방법으로 풀이했다. 반복문을 통해 직전 요소와 현재 요소를 비교하여 각 알파벳을 넣어주는 방식을 사용했다.
function solution(numLog) {
const convert = {
'1': 'w', '-1': 's', '10': 'd', '-10': 'a'
};
return numLog.slice(1).map((v, i) => {
return convert[v - numLog[i]]
}).join('')
}