가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
● 0 < rsp의 길이 ≤ 100
● rsp와 길이가 같은 문자열을 return 합니다.
● rsp는 숫자 0, 2, 5로 이루어져 있습니다.
"2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.
"205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.
function solution(rsp) {
let arr = [...rsp];
let newArr = [];
arr.forEach((a, i) => {
if (arr[i] === "2") {
newArr.push("0");
} else if (arr[i] === "0") {
newArr.push("5");
} else if (arr[i] === "5") {
newArr.push("2");
}
});
return newArr.join("");
}
어마어마한 삽질과 생각 끝에 나온 결론이다.
문제를 이해했지만, 입출력 예 2번째에서 막혀버렸었다.
다른 분들 풀이도 보았는데 객체로 구현하는게 더 쉬운 것 같다.
끝!