✏️ 문제

오래된 창고에서 체스판과 체스 기물을 발견했다.
기물 별 개수가 부족하거나 많아, 완전한 세트를 이루지 못하고 있다.
게임을 하기 위해 기물의 개수를 계산하여 반환하는 프로그램을 제작하시오.

  • 순서 및 기물 필요 개수 : king(1) Queen(1) Rooks(2) Bishops(2) Knights(2) Pawns(8)
    입력값
[0, 1, 2, 2, 2, 7]
[2, 1, 2, 1, 2, 1]
[0, 1, 1, 5, 3, 6]

📝 풀이

function answer(chess) {
  let result = [];

  // 1. 각 인덱스별로 정해진 숫자를 구한다. (체스 기물의 개수)
  let refer = [1, 1, 2, 2, 2, 8] // 체스에 필요한 기물 수를 저장

  // 2. 각 인덱스 별로 정해진 숫자와 비교해서 얼마만큼 부족한지, 많은지 계산하여 result배열에 업데이트
  let count = 0;
  for (let i = 0; i < chess.length; i++) {
    result[count++] = refer[i] - chess[i] // 위에 선언한 refer에서 몇개가 부족한지 계산
  }
  
  return result;
}
  1. 참고할 기물의 개수를 선언한다.(king(1) Queen(1) Rooks(2) Bishops(2) Knights(2) Pawns(8))
  2. 얼만큼 부족하거나 많은지 계산하여 result에 넣어준다.

profile
#UXUI #코린이

0개의 댓글