Just Do IT!

[프로그래머스 level 0] 120839. 가위 바위 보 (JavaScript) 본문

코딩테스트 준비/프로그래머스

[프로그래머스 level 0] 120839. 가위 바위 보 (JavaScript)

MOON달 2023. 1. 2. 10:03
728x90

문제 설명

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


제한사항

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

입출력 예

rsp result
"2" "0"
"205" "052"

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

  • "205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.

 


 

function solution(rsp) {
    // 가위 2, 바위 0, 보 5
    // rsp 순서대로 배열 
    // new_arr 생성해서 가위바위보 조건문 만들기
    // 조건 만족 시 new_arr에 result push
    // return new_arr.join('')
    
    let rsp_arr = [...rsp];
    let new_arr = [];
    
    for (let i = 0; i < rsp_arr.length; i++) {
        if (rsp_arr[i] === '2') {
            new_arr.push('0')
        }
        else if (rsp_arr[i] === '0') {
            new_arr.push('5')
        }
        else if (rsp_arr[i] === '5') {
            new_arr.push('2')
        }
    }
    
    return new_arr.join('')
}

 

 

다른 사람 풀이 (삼항연산자 사용)

function solution(rsp) {
    return rsp.split("").map((v) => v==="2" ? 0 : (v==="0" ? 5 : 2)).join("")
}
728x90