문제 설명
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
function solution(rsp) {
const rspWin = { 2 : 0, 0 : 5, 5 : 2 };
return [...rsp].map(x => rspWin[x]).join('')
}
rsp
를 배열로 만들고 map
메서드를 활용하여 key에 대응하는 value를 반환하도록 한 뒤 이를 문자열로 바꾸어주었다.function solution(rsp) {
return Array.from(rsp).map(v => {
switch(+v) {
case 2:
return 0
case 0:
return 5
default:
return 2
}
}).join('');
}
switch
메서드를 활용한 방법이 가장 눈에 띄었다. 나 또한 이 방법을 활용할까 했었는데, 확신을 갖지 못해서 우선 내가 제출한 방법으로 코드를 작성하고 제출했었다. 앞으로는 확신을 갖지 못하더라도 일단 생각한 방법으로 코드를 작성해보는 것도 필요할 듯 하다.