군대에서_코딩하기_알고리즘_21

신태원·2021년 11월 10일
0

군대에서_코딩하기

목록 보기
22/30
post-thumbnail

얼마전 STL을 쓰지 않고 스택을 구현하는 것을 해봤고, STL을 이용해 스택을 구현하는 법도 배웠다.
직접 quicksort를 구현하다가 sort() 함수를 쓰게되면 얼마나 간편하고 신세계인지 느꼈던것처럼 이번에도 마찬가지였다..

일단 오늘의 문제는 학교 다닐때도 매우 많이 실습,,? 했던 거기도 한데 괄호가 정상인지 아닌지를 구분하는 문젠데, STL stack을 사용해 구현하는 것이다.
코드는 다음과 같다.

#include<iostream>
#include<vector>
#include<algorithm>
#include<stack>
#include<cstring>

using namespace std;

int main(){
    
    stack<char> temp;
    //요 따위로 선언해준다. vector 선언이랑 매우 흡사함
    char a[31];    
    cin>>a;
    
    int len = strlen(a);
    //cstinrg 헤더파일을 추가해서 char 길이를 간단하게 구해준다.
    for(int i=0; i<len; i++){
        if(temp.empty()&&a[i]==')'){
            cout<<"NO";
            exit(0);
        }
        //ㄴ요 if문이 없으면 time_limited이 난다. 그 이유는
        //이미 비어있는데, 또 비우라고해서,,? 
        if(a[i]=='('){
            temp.push('(');
        }
        else{
            temp.pop();
        }
    }
    
    if(temp.empty()){
        cout<<"YES";
    }
    else{
        cout<<"NO";
    }
}

매우 간단한 문제!

profile
일단 배우는거만 정리해보자 차근차근,,

0개의 댓글