저장을 습관화

프로그래머스 LV.0 가위 바위 보 본문

코딩 테스트/프로그래머스 - 자바스크립트

프로그래머스 LV.0 가위 바위 보

ctrs 2023. 9. 16. 23:51

프로그래머스 LV.0 가위 바위 보

https://school.programmers.co.kr/learn/courses/30/lessons/120839

 

프로그래머스

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

programmers.co.kr

 

1. 문제 명

가위 바위 보


2. 문제 설명

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


3. 제한 사항

- 0 < rsp의 길이 ≤ 100

- rsp와 길이가 같은 문자열을 return 합니다.

- rsp는 숫자 0, 2, 5로 이루어져 있습니다.


4. 예시

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


5. 기본 제공 코드

function solution(rsp) {
    var answer = '';
    return answer;
}


6. 제출한 내 답

const solution = (rsp) => {
  return [...rsp]
    .map((v) => {
      return v === "2" ? (v = "0") : v === "0" ? (v = "5") : (v = "2");
    })
    .join("");
};

 

6-2. VSC에 작성한 내용

const solution = (rsp) => {
  return [...rsp]
    .map((v) => {
      return v === "2" ? (v = "0") : v === "0" ? (v = "5") : (v = "2");
    })
    .join("");
};

// 테스트
console.log(solution("2"));
console.log(solution("205"));


7. 특이사항

없음


8. 다른 사람이 작성한 답

8-1. 객체

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

 

8-2. map

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

v="0" 이나 v="5", v="2" 라고 해줄 필요가 없구나