인프런 커뮤니티 질문&답변

용용님의 프로필 이미지
용용

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

3. 크레인 인형뽑기(스택)

코드 질문드립니다

해결된 질문

작성

·

138

0

강의 보기 전에 작성하고 몇가지 테스트 케이스 추가해서 잘 나오긴 했는데 솔루션 코드랑 살짝 달라서 혹시 다른 테스트 케이스에서 반례가 있는 건지 로직은 같아서 괜찮은 건지 질문 드립니다.

function solution(board, moves) {
  let answer = 0;
  const stack = [];

  moves.forEach((move) => {
    for (let i = 0; i < board.length; i++) {
      const item = board[i][move - 1];
      if (item === 0) continue;

      if (item === stack[stack.length - 1]) {
        stack.pop();
        answer += 2;
      } else {
        stack.push(item);
      }
      board[i][move - 1] = 0;
      break;
    }
  });

  return answer;
}

let a = [
  [0, 0, 0, 0, 0],
  [0, 0, 1, 0, 3],
  [0, 2, 5, 0, 1],
  [4, 2, 4, 4, 2],
  [3, 5, 1, 3, 1],
];

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

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다.

용용님의 프로필 이미지
용용

작성한 질문수

질문하기