programmers
2019 카카오 개발자 겨울 인턴십크레인 > 인형뽑기 게임
윤만석
2022. 7. 28. 16:29
lv1 문제입니다.
스텍을 이용합니다.
가로로 인형들이 주어진 board는 불편해서 세로로 배열을 하나 새로 만들었습니다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
vector<vector<int>>mp(30);
while(!board.empty()){
vector<int>temp=board.back();
board.pop_back();
for(int i=0;i<temp.size();i++){
if(temp[i]==0)continue;
mp[i].push_back(temp[i]);
}
}
int answer = 0;
vector<int>st;
for(int i=0;i<moves.size();i++){
if(mp[moves[i]-1].empty())continue;
int top=mp[moves[i]-1].back();
mp[moves[i]-1].pop_back();
if(st.empty()){
st.push_back(top);
continue;
}
if(st.back()==top){
st.pop_back();
answer+=2;
continue;
}
st.push_back(top);
}
return answer;
}