다음 공부 순서는 큐(Queue)와 스택(Stack)이다. 데이터 구조에 대한 이야기는 이전 포스팅에서 했다. 배열과 리스트는 자료를 저장하고 찾는 방법에 대하여, 데이터를 묶음으로 다루는 데이터 구조였다. 큐와 스택은 왜 등장했을까? 배열과 리스트는 아무 칸에나 접근할 수 있는 범용 구조다. 인덱스로 어디든 읽고, 어디든 뺄 수 있다. 그런데 이 "뭐든 할 수 있음"이 단점으로 작용하는 상황이 있다. 현실의 많은 문제는 데이터를 넣고 빼는 순서에 규칙이 필요하기 때문이다. 예를 들면 웹 브라우저의 뒤로가기는 가장 최근에 있었던 페이지로 되돌아가고, 은행의 번호표는 항상 먼저 온 순서를 불러준다. 이걸 배열로 직접 짜려면 "매번 마지막 인덱스에서 꺼내야지", "맨 앞부터 빼야지" 하고 개발자가 규칙을 손..