코딩테스트/구현|기타
[스택] 프로그래머스 크레인 인형 뽑기 게임 C++
유(YOO)
2021. 12. 31. 11:30
※ 문제
https://programmers.co.kr/learn/courses/30/lessons/64061
#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> st;
for(int i=0; i<moves.size(); i++) {
for(int j=0; j<board.size(); j++) { // 위에서부터 뽑음
if (board[j][moves[i]-1]!=0) {
cout << board[j][moves[i]-1];
if (!st.empty()) {
if (st.top()==board[j][moves[i]-1]) {
st.pop();
answer+=2;
}
else {
st.push(board[j][moves[i]-1]);
}
}
else {
st.push(board[j][moves[i]-1]);
}
board[j][moves[i]-1] = 0; // 보드 바꿔주어야 함
break;
}
}
}
return answer;
}