자바스크립트 코딩테스트 정리

프로그래머스 코딩테스트 입문 LEVEL0 가위바위보

우주전사버즈 2023. 8. 9. 09:26

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


제한사항

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

입출력 예

rspresult

"2" "0"
"205" "052"

 

내 풀이 :

function solution(rsp) {
    // 2= 가위 0 = 바위 5 = 보
    var answer = [];
    var inputrps = [...rsp];
    var rps_Map = {
            2: 0, // 가위가 이기는 것은 바위
            0: 5, // 바위가 이기는 것은 보
            5: 2, // 보가 이기는 것은 가위
    };

    for(let i = 0; i < inputrps.length; i++){

        let currentRps = inputrps[i]; // rsp : "205" inputrps : ["2","0","5"] currentRps = 2 -> 0 -> 5
    //rps_Map객체의 키에 currentRps가존재하는지확인하기
    // currentRps = 5 rps_Map : key 5 : value 2 존재
        if (currentRps in rps_Map) {
    // 존재한다면 answer 배열에 존재하는 키의 값을 배열에추가함.
            answer.push(rps_Map[currentRps]);
        }
    }
    return answer.join("");
}

 다른 사람 풀이:

/*
 가위는 2 바위는 0 보는 5
*/
function solution(rsp) {
    let arr = {
        2: 0,
        0: 5,
        5: 2
    };
    var answer = [...rsp].map(v => arr[v]).join("");
    return answer;
}