bhl0203   3년 전

안녕하세요. 큐 문제가 C+의 <queue> 를 사용하면 너무 쉬울 것 같아  C에서 링크드 리스트로 한번 짜 봤는데, 제가 만든 예제는 다 통과하는데 정작 BOJ에서는 통과하지 못해 고민입니다 ㅠㅠ 계속 찾아도 어디서 삑이 난건지를 못찾겠네요. 

※C++로 푼 후 정답 코드를 보려고 했는데 C++도 마찬가지로 통과를 못 하는 중인데.. 제가 혹시 무슨 조건을 빠트린것 같은데 무얼 빠트렸는지를 못찾겠네요

도와주시면 감사하겠습니다 ㅠㅠㅠ

C코드입니다. 이 아래에 C++ 코드를 첨부했습니다.

C코드는 길어서 코드에 첨부하고, C++ 코드는 본문에 첨부하겠습니다.

#include

#include
#include
#include
using namespace std;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    string str;
    int n;

    cin >> n;
    int m;
    queue<int> q;
    for (int i = 0; i < n; i++) {
        cin >> str;

    if (str == "push") {
        cin >> m;
        q.push(m);
    }
    if (str == "pop") {
    if (q.empty()) {
        cout << -1 << '\n';
    }
        else q.pop();
    }
    if (str == "size") {
        cout << q.size()<<'\n';
    }
    if (str == "empty") {
    if (q.empty()) cout << 1 <<'\n';
        else cout << 0 << '\n';
    }
    if (str == "front") {
    if (q.empty()) cout << -1 << '\n';
        else cout << q.front() << '\n';
    }
    if (str == "back") {
    if (q.empty()) cout << -1 << '\n';
        else cout << q.back() << '\n';
    }
    }

return 0;
}

bhl0203   3년 전

제가 pop후 숫자 출력이라는 조건을 빠트렸었네요.

해결됐습니다!

댓글을 작성하려면 로그인해야 합니다.