티스토리 뷰

알고리즘/코딩테스트 공부

2-3 가위 바위 보

YG - 96년생 , 강아지 있음, 개발자 희망 2021. 11. 25. 20:00

문제

A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고,
B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.

 

풀이

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] - b[i] === 1) answer += "A";
    else if (a[i] - b[i] === 2) answer += "B";
    else if (b[i] - a[i] === 1) answer += "B";
    else if (b[i] - a[i] === 2) answer += "A";
  }

  return answer;
}

let a = [2, 3, 3, 1, 3];
let b = [1, 1, 2, 2, 3];
console.log(solution(a, b));

각각의 경우의 수 모두 조건문으로 풀었습니다.

 

다른 풀이

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] === 2 && b[i] === 1) answer += "A";
    else if (a[i] === 3 && b[i] === 2) answer += "A";
    else if (a[i] === 1 && b[i] === 3) 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가 이기도록 하였습니다.

'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글

2-5 등수구하기  (0) 2021.11.26
2-4 점수계산  (0) 2021.11.25
2-2 보이는 학생  (0) 2021.11.25
2-1 큰 수 출력하기  (0) 2021.11.25
1-17 중복단어제거  (0) 2021.11.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함