문제 링크
#include <string>
#include <vector>
#include <algorithm>
#include <stack>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
stack <int> s;
int i=0,j=0;
int answer = 0;
for(i=0; i < moves.size(); i++){ //턴 만큼 반복
int mline = moves[i]-1; // 1번 위치 = [0]번째 열
for(j=0; j < board.size(); j++){ //0번째 열의 행을 탐색
if(board[j][mline] == 0) continue;
else{
if(!s.empty() && board[j][mline] == s.top())
{
s.pop();
answer += 2;
}
else{
s.push(board[j][mline]);
}
board[j][mline] = 0;
break;
}
}
}
return answer;
}
'CPP 문제풀이 > 프로그래머스' 카테고리의 다른 글
(좋지 않은 풀이)모의 고사 (완전 탐색) (0) | 2020.09.11 |
---|---|
기능개발 (0) | 2020.08.02 |
탑 (0) | 2020.08.02 |
프린터 (0) | 2020.08.02 |
완주하지 못한 선수 (해시) (0) | 2020.07.26 |