Programers : 크레인 인형 뽑기 (2019 카카오 개발자 겨울 인턴십)

김정욱·2021년 1월 18일
0

Algorithm - 문제

목록 보기
32/249
post-thumbnail

크레인 인형 뽑기

  • vector의 형태로 2차원 배열이 주어진다
  • 같은 인형을 연속해서 2개 뽑을 경우 터지는데 터지는 인형의 개수를 구해야 한다.
  • 어피치가 너무 귀여워서 시도해봤는데 풀릴줄몰랐음 (쉬운문제임ㅠ)

코드

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

using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
    stack<int> S;
    int answer = 0;
    for(int i=0;i<moves.size();i++)
    {
        int location = moves[i]-1;
        for(int j=0;j<board.size();j++)
        {
            if(board[j][location])
            {
                if(!S.empty() && S.top() == board[j][location]){
                    answer+=2;
                    S.pop();
                }else{
                    S.push(board[j][location]);    
                }
                board[j][location] = 0;
                break;
            }
        }
    }
    return answer;
}
profile
Developer & PhotoGrapher

0개의 댓글