티스토리 뷰

풀이

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <iterator>
#include <stack>

using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
    int answer = 0;
    stack<int> stack;
    for (int move : moves) {
        for (int i = 0; i < board[move - 1].size(); i++) {
            if (board[i][move - 1] != 0) {
                if (stack.empty()) {
                    stack.push(board[i][move - 1]);
                }
                else {
                    if (stack.top() == board[i][move - 1]) {
                        stack.pop();
                        answer+=2;
                    }
                    else {
                        stack.push(board[i][move - 1]);
                    }
                }

                board[i][move - 1] = 0;
                break;
            }
        }
    }
    return answer;
}

'Algoritem > Problem solving' 카테고리의 다른 글

팩토리얼  (0) 2020.05.25
소수 판별법  (0) 2020.05.25
백준 : 7576번 토마토(C++14)_BFS  (0) 2020.05.22
백준 : 2178번 미로 탐색(C++14)_BFS  (0) 2020.05.21
백준 : 1926번 그림(C++14)_BFS  (0) 2020.05.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함