본문 바로가기
코딩테스트/프로그래머스

[2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 - JAVA

by 의정부핵꿀밤 2022. 9. 20.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/64061

 

프로그래머스

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

programmers.co.kr


바구니는 stack으로 구현하고 단순히 비교해서 구하면 되는 문제였는데 한 30분 헤멤....

이유? 내가 몽충이이기 때문....

인형이 지워지던 stack에 추가되던 board에 원래 인형이 있던 위치를 0으로 초기화해줬어야 하는데

stack에 push할 때만 초기화하고 인형이 없어질 때는 초기화를 안해버림...

 

그래서 초기화 부분인 board[i][move-1]=0 을 코드 상단으로 옮겼더니 바아로 통과ㅠㅠ

오늘도 삽질했따 \^0^/

 

 

 

 

자바 코드)

import java.util.Stack;

class Solution {
    public int solution(int[][] board, int[] moves) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();

        for(int move : moves) {
            for(int i=0;i<board.length;i++) {
                int doll = board[i][move-1];
                if(doll==0) {
                    continue;
                }
                
                board[i][move-1]=0;
                
                if(!stack.isEmpty() && stack.peek()==doll) {
                    answer += 2;
                    stack.pop();
                    break;
                }
                stack.push(doll);
                break;
            }

        }
        return answer;
    }
}
728x90

댓글