📕 문제 설명
가위는 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) {
let answer = '';
[...rsp].forEach((_, i) => {
if(rsp[i]==2){ answer += "0"; }
else if(rsp[i]==0){ answer += "5"; }
else if(rsp[i]==5){ answer += "2"; }
});
return answer;
}
문자열을 전개연산자로 펼쳐 각 값에 대응하는 숫자를 answer 변수에 추가해주는 방식으로 풀이했다.
⭐ 다른 답변
function solution(rsp) {
let obj = {
"2" : "0",
"0" : "5",
"5" : "2"
}
return [...rsp].map((v) => obj[v]).join("");
}
객체를 사용한 풀이
각각 대응하는 게 있으면 이런 식으로 객체를 이용하면 좋을 것 같다.
728x90
반응형
'프로그래머스 > Lv. 0 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] Lv.0 개미 군단 / JS (1) | 2023.08.23 |
---|---|
[프로그래머스] Lv.0 모스부호 (1) / JS (1) | 2023.08.23 |
[프로그래머스] Lv.0 구슬을 나누는 경우의 수 / JS (0) | 2023.08.23 |
[프로그래머스] Lv.0 점의 위치 구하기 / JS (0) | 2023.08.23 |
[프로그래머스] Lv.0 2차원으로 만들기 / JS (1) | 2023.08.23 |