새소식

알고리즘 테스트 ⏲/프로그래머스

[KAKAO INTERNSHIP] 크레인 인형뽑기 풀이 / JavaScript

  • -
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

작성 코드 (1차시도 / 통과)

function solution(board, moves) { const stk = []; let result = 0; moves.forEach((c) => { for (let i = 0; i < board[0].length; i += 1) { if (board[i][c - 1]) { stk.push(board[i][c - 1]); board[i][c - 1] = 0; break; } } for (let i = 1; i < stk.length; i += 1) { if (stk[i] === stk[i - 1]) { stk.splice(i - 1, 2); result += 2; } } }); return result; }

구현 로직

배열을 위에서 아래로 탐색하는 부분만 잘 작성하면 됩니다. 크레인이 움직인 구간(moves)의 값들을 하나씩 순회하면서 0이 아닌 수를 마주치는 경우 그 값을 빈 배열 stk에 넣어주고 stk을 탐색하여 현재 위치와 이전 위치의 수가 동일한 경우(같은 인형) 제거하고 카운트를 늘려주면 됩니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.