https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

- vector 사용

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
 
using namespace std;
 
int main() {
 
    vector<char>arr1;
    vector<char>arr2;
    vector<char>arr3;
    vector<char>arr4;
 
    int sun = 0;
    for (int q = 0; q < 10; q++) {
        sun++;
 
        int cnt = 0;
        arr1.clear();
        arr2.clear();
        arr3.clear();
        arr4.clear();
 
        int n;
        cin >> n;
 
        string st;
        cin >> st;
 
        for (int i = 0; i < n; i++) {
            char now = st[i];
            if (st[i] == '(') arr1.push_back(1);
            if (st[i] == '[') arr2.push_back(1);
            if (st[i] == '{') arr3.push_back(1);
            if (st[i] == '<') arr4.push_back(1);
 
            if (st[i] == ')') {
                if (arr1.empty()) {
                    cnt++;
                    continue;
                }
                arr1.pop_back();
            }
            if (st[i] == ']') {
                if (arr2.empty()) {
                    cnt++;
                    continue;
                }
                arr2.pop_back();
            }
            if (st[i] == '}') {
                if (arr3.empty()) {
                    cnt++;
                    continue;
                }
                arr3.pop_back();
            }
            if (st[i] == '>') {
                if (arr4.empty()) {
                    cnt++;
                    continue;
                }
                arr4.pop_back();
            }
        }
 
 
        cnt += arr1.size();
        cnt += arr2.size();
        cnt += arr3.size();
        cnt += arr4.size();
 
        int result;
        if (cnt == 0) result = 1;
        else result = 0;
        cout << "#" << sun << " " << result << endl;
    }
     
    return 0;
}

 

+ Recent posts