인프런 커뮤니티 질문&답변

sangwoo8221님의 프로필 이미지
sangwoo8221

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-I

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

작성

·

231

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점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


sangwoo8221님의 프로필 이미지
sangwoo8221

작성한 질문수

질문하기