자바스크립트 코딩테스트 정리
프로그래머스 코딩테스트 입문 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;
}