<aside>
💡 6월 1주차 코드리뷰입니다.
</aside>
리뷰 전 공지사항
1 ) 여유 된다면 문제 푸는 과정 틈틈이 정리해서 문제를 풀기 위한 과정 기록해볼 것
2 ) 돌아가면서 사회자 역할을 맡아 진행하는 연습 해볼 것
사회자 역할 규칙 | Notion
3 ) 0x06 큐 문제가 3문제라서 2문제가 추가되었음.
4 ) 이번 코드 리뷰 시 스스로 미흡했다고 생각하는 인원들 다시 준비해볼 것
0. 스택 ( Stack )
데이터를 제한적으로 접근할 수 있는 구조로, 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조

(출처 : 위키백과 )
1 . 스택의 성질
- 스택은 LIFO(Last In, Fisrt Out) 또는 FILO(First In, Last Out) 데이터 관리 방식을 따름
- LIFO: 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책
- FILO: 처음에 넣은 데이터를 가장 마지막에 추출하는 데이터 관리 정책
2. 스택의 장단점
- 장점
- 구조가 단순해서, 구현이 쉽다.
- 데이터 추가/제거 속도가 빠르다.
- 메모리 관리가 용이하다.
- 단점 (일반적인 스택 구현시)
- 데이터 최대 개수를 미리 정해야 한다.
- 크기를 초과해 데이터 추가 불가능할 경우, 오버플로우(overflow) 발생
- 중간 데이터 접근이 어렵다.
- 중간 데이터에 빈번하게 접근 해야 할 경우, 비효율적
3. 스택의 주 연산 함수
- push() : 데이터 추가, 스택의 맨 위에 데이터를 삽입
- pop() : 데이터 삭제, 스택의 맨 위 데이터 삭제 후 반환
- peek() : 데이터 삭제X, 스택의 맨 위 데이터 반환