제일 쉬운 문제로 stack 자료구조를 쓸 줄 아는가를 묻는 문제였다.
#include <iostream>
#include <string>
#include <vector>
#include <stack>
using namespace std;
int solution(vector<vector<int>> board, vector<int> moves) {
stack<int> s;
s.push(0);
int answer = 0;
int map_size = board[0].size();
for(int i=0;i<moves.size();i++){
int temp = moves[i]-1;
for(int j=0;j<map_size;j++){
if(board[j][temp]!=0){
//cout << board[j][temp] <<endl;
if(s.top()!=board[j][temp]) s.push(board[j][temp]);
else {
cout << board[j][temp] <<endl;
answer+=2;
s.pop();
}
board[j][temp]=0;
break;
}
}
}
return answer;
}
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스/C++] 다음 큰 숫자(진법 변환) (0) | 2020.12.10 |
---|---|
[프로그래머스/C++] 124 나라의 숫자(진법 변환) (0) | 2020.11.02 |
[프로그래머스/C++] 징검다리 건너기(이분탐색) (0) | 2020.10.20 |
[프로그래머스/C++] 불량 사용자(DFS) (0) | 2020.10.20 |
[프로그래머스/C++] 튜플(문자열) (0) | 2020.10.16 |