• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

질문있습니다!

20.03.13 17:46 작성 조회수 66

1

위의 코드에서 for문 괄호 안에 i < size 대신 i< queue.size()를 하면 답의 값이 하나 적게 나오는데

왜 그런건지 궁금합니다!

답변 1

답변을 작성해보세요.

1

안녕하세요.

헷갈리때는 연습장에 그림으로 적어가면 유용해요.

머리로만 생각하면 분명빠지는게 있습니다.(온라인 코딩테스트시 옆에 무조건 종이에 쓰고 해야됩니다.)

이문제에서 사용된 Queue(Fifo)는 정말 많이 응용되죠.

이문제는 LevelOrderList문제랑 같고요, 다른 여러문제에서 비슷하게 사용됩니다.

먼저 queue는 받자마자 queue가 널이 아닌지 확인하고 큐에 현재 사이즈를 측정해야지만 됩니다.

아래그림1번(i < size) 처럼 레벨을 체크합니다.

아래그림2번( i< queue.size())은 큐 자체가 증가하는 구조입니다. 큐의 레벨(1번처럼 싸이즈로 먼저 체크하고 들어가는경우)을 체크하지 않고 자체 증가가 나타는거죠(FIFO랑 연관시켜보세요)

아래그림1,2번의 차이를 제코드 디버그를 돌리시면서 보시고 이해 안되시면 연락주세요~즐코딩~