본문 바로가기
전공공부/코딩테스트

( c++) 프로그래머스 크레인 인형뽑기 게임

by 시아나 2022. 1. 11.

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

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[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]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 


나의 풀이

#include <string>
#include <vector>
#include <stack>

#include <iostream>

using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
    int answer = 0;
    stack<int> buckets;
    for (int n : moves) {
        int top = 0;
        for (; top < board.size(); top++) {
            if (board[top][n - 1] != 0) break;
        }
        if (top < board.size()) {
            if (!buckets.empty() && buckets.top() == board[top][n - 1]) {
                answer += 2;
                buckets.pop();
            }
            else {
                buckets.push(board[top][n - 1]);
            }
            board[top][n - 1] = 0;
        }
    }

    return answer;
}