• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

ret.size() 관련 질문 있습니다.

24.03.08 14:36 작성 조회수 136

0

강사님 그 queue나 front()사용할 떄 size()체크를 무조건하라고 하셨는데 그 부분이 어디였는지 기억이 안나요 ㅠ.. 혹시 한번만 더 말씀해주실 수 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요 상우님 ㅎㅎ

강사님 그 queue나 front()사용할 떄 size()체크를 무조건하라고 하셨는데 그 부분이 어디였는지 기억이 안나요 ㅠ.. 혹시 한번만 더 말씀해주실 수 있을까요?

>> 자, 설명 들어갑니다~

queue에 size가 없다 -> 없는데 front()로 참조하려고 함 -> 아니... 내가 돈이 없는데 자꾸 돈을 요구함 -> 강도임 -> 경찰서감 ㅇㅇ

이걸 생각하시면 됩니다.

즉..

#include <bits/stdc++.h> 
using namespace std; 
queue<int> q; 
int main() {
    q.push(1);
    if(q.size() && q.front()){
        cout << q.front();
        q.pop();
    } 
    cout << q.front(); // 에러가 발생할 수 있는코드.
    return 0;
}

이렇게 짜셔야 합니다.

front로 참조한다. size를 항상체크.

참고로 이부분은 stack도 똑같습니다.



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

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

감사합니다.

강사 큰돌 올림.