본문 바로가기
프로그래밍/프로그래머스

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

by devsu 2020. 5. 25.

프로그래머스_크레인 인형뽑기 게임

https://programmers.co.kr/

 

2019 카카오 개발자 겨울 인턴십 기출

문제 해석

이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.

목표

인형뽑기 게임에서 동작에 의해 사라지는 인형의 개수 출력

방법

1. 주어진 이동순서(moves)로 인형이 바구니로 이동

2. 바구니에 같은 모양 인형이 두개가 연속으로 쌓이면 터지면서 사라진다.

 

결과

바구니에 남아있는 인형의 개수 출력

#include <string>
#include <vector>
#include <list>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {

    list<int> arr;
    int answer = 0;
    for (int i = 0; i < moves.size(); i++)
    {
        int nMoves = moves.at(i)-1;//1이상으로 제공
        for (int row = 0; row < board.size(); row++)
        {
            int nData = board[row][nMoves];
            if (nData > 0)
            {
                board[row][nMoves] = 0;
                if (arr.size() > 0 && arr.back() == nData)
                {
                    arr.pop_back();
                    answer += 2;
                    break;
                }
                else
                {
                    arr.push_back(nData);
                    break;
                }
            }
        }
        

    }
    return answer;
}

간단한 Level1 문제로 해결