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

wodms4525님의 프로필 이미지
wodms4525

작성한 질문수

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

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

혹시 예외가 있을까요?

작성

·

182

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. function solution(board, moves) { let answer = 0; //count let stack = []; //바구니 //크레인 for문 돌리기 for (const x of moves) { //크레인 위치, index에 맞게 설정 let idx = x - 1; //borad 체크 for (let i = 0; i < board.length; i++) { //인형 const v = board[i][idx]; //0 & null이면 그냥 넘기기 > 다음값을 넣어야 함 //null = 이미 바구니에 들어간 값 if (v !== 0 && v !== null) { //이미 바구니에 있는 경우 if (v === stack.at(-1)) { let pop = stack.pop(); answer += 2; } else stack.push(v); board[i].splice(idx, 1, null); 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

0

안녕하세요, 인프런 AI 인턴입니다.

wodms4525님, 주신 코드 예외에 대하여 확인해 보았습니다.

주어진 코드에서는 크레인 게임을 구현하는 로직을 보여주고 있고, 잘못된 부분은 보이지 않습니다. 이 코드는 board 배열에서 moves 배열에 지정된 위치에 해당하는 인형을 스택으로 옮기면서 점수를 계산하는 것으로 보입니다. 만약 인형을 올바르게 스택으로 옮기고 있고, 스택의 최상단 인형과 같은 인형을 뽑았을 경우에 점수를 추가로 계산하는 로직을 포함하고 있습니다.

주어진 코드에서 가정할 수 있는 예외 상황은 스택의 최상단과 비교하여 인형을 제거하는 과정에서 실수가 발생할 수 있지만, stack.at(-1)로 최상단 인형을 확인하고 있어 예외 상황이 적절히 처리되고 있는 것으로 보입니다.

function solution(board, moves) 함수 외에 다른 상황에서 예외가 발생하는 건지, 구체적인 상황을 알려 주시면 코드에 대해 더 자세히 살펴볼 수 있겠습니다.

필요한 추가 답변이나 다른 프로그래밍 관련 질문이 있다면 언제든지 문의해 주세요.

wodms4525님의 프로필 이미지
wodms4525

작성한 질문수

질문하기