bracket2 질문입니다 BueVonHon 문제를 푸는 중에 이해가지 않는부분이 있어 질문남깁니다 당연히 책에 나온 소스코드로는 통과가 되는데 요즘 제가 배운 문법내용을 적용하여 코드를 조금 더 깔끔하게 적어 제출하니 오답으로 처리됩니다. 아무래도 문법상에서 맞지 않는 부분이 있어 그런 것 같은데, 아무래도 모르겠어 이렇게 글도 쓰면서 도움을 구하고자 합니다 /** * author: BueVonHun * More Info: https://github.com/Bue-von-hon **/ #include <iostream> #include <algorithm> #include <vector> #include <list> #include <queue> #include <stack> #include <cstring> using namespace std; #define fast_cin() ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define endl '\n' bool check(const string& s) { stack<char> st; const string open("({["), close(")}]"); for (char a: s) { if (open.find(a) != -1) {st.push(a);} else { if (st.empty()) {return false;} if (open.find(st.top()) != close.find(a)) {return false;} st.pop(); } } return st.empty(); } int main(void) { fast_cin(); int test_case; cin >> test_case; for (int i = 0; i < test_case; i++) { string s; cin >> s; if (check(s)) cout << "Yes" << endl; else cout << "No" << endl; } return 0; } 4년 전
1개의 댓글이 있습니다. BueVonHon 일주일간 질문과답변게시판에서 여러 TC를 참고하여 결국 오류를 잡았습니다 진짜 문법문제였습니다 출력에서 Yes가 아니라 YES를 출력해야 맞습니다(전부 대문자) 덕분에 온갖 TC를 돌려볼 봤고, 저와 같은 문제를 겪은 분은 없으신 것 같아 기록차원에서 댓글 남깁니다 4년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
BueVonHon
문제를 푸는 중에 이해가지 않는부분이 있어 질문남깁니다
당연히 책에 나온 소스코드로는 통과가 되는데 요즘 제가 배운 문법내용을 적용하여 코드를 조금 더 깔끔하게 적어 제출하니 오답으로 처리됩니다.
아무래도 문법상에서 맞지 않는 부분이 있어 그런 것 같은데, 아무래도 모르겠어 이렇게 글도 쓰면서 도움을 구하고자 합니다
4년 전