1. 문제
총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다.
비길 경우에는 D를 출력합니다. 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면
각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.
회수 | 1 | 2 | 3 | 4 | 5 |
A정보 | 2 | 3 | 4 | 1 | 3 |
B정보 | 1 | 1 | 2 | 2 | 3 |
승자 | A | B | A | B | D |
입력예제 |
A 2 3 3 1 3
B 1 1 2 2 3
출력예제 | ABABD
2. 문제풀이
for문으로 A와 B의 배열을 하나씩 돌면서,
조건문으로 A가 이기는 상황을 만들고 A를 answer에 넣어주고, 그 외 상황은 B가 answer에 들어가도록 한다.
function solution(A, B){
let answet = "";
for(let i=0; i<A.length; i++){
if(A[i] === B[i]) answer = "D";
// 여기서 부터 A가 이기는 상황 기준으로 써주기
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));
분류를 해야할 때는 기준을 잘 잡아야한다. 여기서는 A가 이기는 것에 기준을 두고 그 외에는 모두 B가 출력되도록 했다.
3. 사용개념
논리 연산자 && 사용해서 양쪽 모두 참이어야 true가 반환된다. 하나라도 거짓이면 else if / else로 넘어간다.
'💡Algorithm > 문제풀기' 카테고리의 다른 글
JS알고리즘 | 등수구하기 (이중for문, Array.from) (0) | 2021.04.27 |
---|---|
JS알고리즘 | 점수계산 (0) | 2021.04.26 |
JS알고리즘 | 보이는 학생 (0) | 2021.04.25 |
JS 알고리즘 | 큰 수 출력하기 (0) | 2021.04.25 |
JS알고리즘 | 중복단어제거 (0) | 2021.04.23 |