프로그래머스 - 가위 바위 보

이한결·2022년 12월 9일
0

프로그래머스

목록 보기
48/107
post-thumbnail

문제 설명

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.

제한사항

● 0 < rsp의 길이 ≤ 100
● rsp와 길이가 같은 문자열을 return 합니다.
● rsp는 숫자 0, 2, 5로 이루어져 있습니다.

입출력 예

입출력 예 설명

입출력 예 #1

"2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.

입출력 예 #2

"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번째에서 막혀버렸었다.
다른 분들 풀이도 보았는데 객체로 구현하는게 더 쉬운 것 같다.

끝!

profile
평범한 삶을 위하여

0개의 댓글