본문 바로가기
Problem Solving/프로그래머스

[프로그래머스 | 파이썬 / 자바스크립트] 가위 바위 보(코딩테스트 입문/ level 0)

by 청량리 물냉면 2023. 2. 19.
반응형
문제

https://school.programmers.co.kr/learn/courses/30/lessons/120839?language=javascript 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

코드

🐍파이썬

def solution(rsp):
    dic = {"2":"0", "0":"5", "5":"2"}
    answer = ''
    for i in rsp:
        answer += dic[i]
    return answer

 

🐥자바스크립트

function solution(rsp) {
    var dic = {"2":"0", "0":"5", "5":"2"}
    var answer = '';
    for(let i of rsp){
        answer += dic[i]
    }
    return answer;
}

 

 

코드 설명

1️⃣ dictionary를 생성하여 가위 바위 보 각 원소를 key, 가위 바위 보에 대응하여 이기는 원소를 value에 저장한다. 

2️⃣ rsp 각 원소가 key인 value값을 answer에 추가한다.

 

 

다른 풀이 방법

🐥자바스크립트

function solution(rsp) {
    let arr = {
        2: 0,
        0: 5,
        5: 2
    };
    var answer = [...rsp].map(v => arr[v]).join("");
    return answer;
}

spread operator

 

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

삼항연산자 사용

 

 

참고

https://dinn.github.io/javascript/js-dotdotdot/

 

JavaScript | JS에서 점점점(…)은 무엇일까?

Rest Paramenter와 Spread Operator에 대해 알아보겠습니다.

dinn.github.io

 

반응형