• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

1-m 3986 좋은단어 질문

24.04.27 16:09 작성 조회수 37

0

http://boj.kr/b08f18a0dc7741f59a7216d6b9f8b52f

선생님 제가 코드를 짜보았는데 선생님 코드와 크게 다를바가 없어보이는데 무엇이 문제인지 찾지를 못했습니다. 도와주시면 감사하겠습니다!

답변 1

답변을 작성해보세요.

0

안녕하세요 ㅎㅎ

매케이스마다 새롭게 stack을 정의해주시는 부분이 없어서 그렇습니다. ㅎㅎ

이렇게 해보시겠어요?

그리고 size == 0보다는 empty가 더 좋습니다.

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n, cnt = 0;
    cin >> n;

    for (int i = 0; i < n; i++) {
        string s;
        cin >> s;
        stack<char> _stack;

        for (char c : s) {
            if (_stack.empty() || _stack.top() != c) {
                _stack.push(c);
            } else {
                _stack.pop();
            }
        }

        if (_stack.empty()) {
            cnt++;
        }
    }

    cout << cnt;
    return 0;
}

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.