
DsQueue::push 함수는 큐의 끝에 데이터를 추가합니다. 하지만 push 함수가 완료된 후 size() 함수를 호출하면 큐의 크기가 1 증가한 상태로 반환됩니다.
이유는 push 함수가 데이터를 추가한 후 큐의 크기를 업데이트 하는 것이 아니라, size() 함수가 큐의 크기를 계산할 때 데이터가 추가된 것을 인식하기 때문입니다.
따라서 push 함수를 호출한 후 size() 함수를 호출하면 큐에 데이터가 추가된 것으로 인식되어 1이 출력됩니다.
이 현상을 피하려면 push 함수를 호출한 후 size() 함수를 호출하기 전에 큐의 크기를 업데이트하는 코드를 추가하거나, push 함수가 데이터를 추가한 후 큐의 크기를 업데이트 하는 코드를 추가해야 합니다.
2025-07-15 23:37