코딩테스트/JavaScript
[코딩테스트] 가위 바위 보
CODE_PLAN
2023. 12. 19. 20:32
나의 풀이
function solution(a, b) {
let answer = "";
for (let i = 0; i < a.length; i++) {
// 0- 1 2 3 4 5 67 8 9
// 1-0 1 2 3 4 5 6 7 8 9
// 1vs2 = 2
// 1vs3 =1
// 2vs 1
// 2vs3
//
// for (let j = 0; j < b.length; j++) {
// if (a[i] > b[j]) {
switch (a, b) {
case a[i] > b[i]:
return;
case a
}
// }
// }
}
return answer;
}
위는 나의 풀이다. 우선 컨디션이 안좋을때 풀어서 그런지 모르겠는데 잘 안풀렸고
기준점을 잘 잡아야된다는것을 몰랐다. 그래서 결국 도중에 멘붕와서 답은 제출하지 못했었다ㅠ
하지만 아직 알고리즘 초보니까 좀 더 배우면 할 수 있을거라고 생각하고 배워나가야겠다.
문제 정답
<script>
function solution(a, b){
let answer="";
for(let i=0; i<a.length; i++){
if(a[i]===b[i]) answer+="D ";
else if(a[i]===1 && b[i]===3) answer+="A ";
else if(a[i]===2 && b[i]===1) answer+="A ";
else if(a[i]===3 && b[i]===2) answer+="A ";
else answer+="B ";
}
return answer;
}
let a=[2, 3, 3, 1, 3];
let b=[1, 1, 2, 2, 3];
console.log(solution(a, b));
</script>
풀이법: 우선 a를 기준으로 값이나오는경우를 생각하고 a,b가 같은경우, 나머지 경우 이렇게 3가지로 나누면
간단히 식을 위처럼 작성할수있다.
어렵게 생각하지말고 한가지 기준, 즉, 기준을 잘 잡고 풀면 될것같다.