본문 바로가기
코딩테스트

프로그래머스 Javascript 코딩 테스트 Lv.0 가위 바위 보

by 곰인간 2023. 7. 10.

가위 바위 보

먼저 문제에서 가위는 2, 바위는 0, 보는 5 이다. 

그리고 매개변수로 rsp(바위 가위 보)가 주어지고, 주어진 rsp에 대해서 모두 이기는 경우의 수를 구해야한다.

function solution(rsp) {
    const r = 0;
    const s = 2;
    const p = 5;
    const rspArr = [...rsp];
    let newArr = [];
    for (let i = 0; i <= rspArr.length; i++) {
        if (rspArr[i] === "0") {
            newArr.push(5)
        } else if (rspArr[i] === "2") {
            newArr.push(0)
        } else if (rspArr[i] === "5") {
            newArr.push(2)
        }
    }
    return newArr.join('')
}

먼저 rock, scissors, paper를 각각 r, s, p 변수로 선언하고 값을 할당했다.

그리고 매개변수 rsp는 문제의 예제를 보면 "052" 이런식으로 문자열로 되어있다.

전개연산자를 이용해서 rsp매개변수를 배열로 변경해주고,

for문을 이용해서 문제가 원하는 답을 구할거다.

그전에 newArr변수에 빈배열을 만들어준다.

rsp의 길이 만큼 반복되는 코드를 작성해주고,

rspArr의 인덱스 값이 숫자 0이 아닌 문자 0일 때, 2 일 때, 5 일 때의 각 조건문을 작성하고,

각각의 조건문에 newArr.push()로 이기는 수를 넣어준다.

그리고 배열로 되어있으니깐 return 할 때 join('')를 통해서 문자열로 변경

댓글