[algorithm] 백준 9012번 괄호

2026. 1. 25. 11:17·algorithm/스택
반응형

 

 

문제 설명 & 접근 방식

이 문제는 백준 4949번이랑 매우 유사한 문제이다 

어떻게 보면 중괄호" [ ] " 가 없어서 더 쉬운 문제라고 생각한다

 

접근 방식도 똑같이

1. 열린 괄호 나오면 스택에 추가

2. 스택이 비어있다면 짝이 없다는 것이므로 탈락

3. 비어있지 않다면 짝이 무조건 맞으므로 pop

4. 2~3과정 끝났는데 스택에 괄호 남아있으면 탈락 없으면 통과

 

코드

#include <iostream>
#include <stack>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    int n;
    string s;
    bool isValid = true;
    
    cin >> n;
    for(int tmp=0; tmp<n; tmp++)
        {
            cin >> s;
            stack<int> st;
            isValid = true;
            for(char c : s)
                {
                    if(c == '(')
                    {
                        st.push(c);
                    }
                    else
                    {
                        if(st.size() == 0)
                        {
                            isValid = false;
                            break;
                        }
                        else
                        {
                            st.pop();
                        }
                    }
                }
            if(st.size() != 0) isValid = false; // "((" 예외처리
            if(isValid) cout << "YES" << "\n";
            else cout << "NO" << "\n";          
        }
    return 0;
}

 

오류

처음에 "YES"로 출력해야되는데 "Yes"로 해서 계속 오류가 났고

알아차리는데 꽤 걸려서 스스로도 어이가 없었다

 

균형잡힌 세상 문제에서는 탈락인걸 따로 벡터에 담고 처리했었는데

이는 비효율적인 것 같아서 이번엔 bool 자료형을 써서 탈락이면 false로 지정해줬다

반응형

'algorithm > 스택' 카테고리의 다른 글

[algorithm] 백준 3986번 좋은 단어  (0) 2026.01.25
[algorithm] 백준 4949번 균형잡힌 세상  (0) 2026.01.25
[algorithm] 백준 10773번 제로  (0) 2026.01.12
[algorithm] 백준 10828번 스택  (0) 2026.01.12
'algorithm/스택' 카테고리의 다른 글
  • [algorithm] 백준 3986번 좋은 단어
  • [algorithm] 백준 4949번 균형잡힌 세상
  • [algorithm] 백준 10773번 제로
  • [algorithm] 백준 10828번 스택
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    github
    그레디언트 클리핑
    알고리즘
    머신러닝
    오프라인 학습
    ML
    list
    인공지능
    백준
    연결리스트
    DL
    딥러닝
    홀드아웃 검증
    Java
    git
    주성분변환
    Aimers
    게시판
    Spring Boot
    AI
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[algorithm] 백준 9012번 괄호
상단으로

티스토리툴바