코딩테스트
코딩테스트 스택 기초
망고고래
2024. 4. 24. 19:03
먼저 입력한 데이터가 제일 나중에 나오는 자료구조(FILO)
스택 연산
반환 타입 | 메서드 | 설명 |
boolean | isFull() | 스택에 들어있는 데이터 개수가 maxsize인지 확인해서 boolean 반환 |
boolean | isEmpty() | 스택에 들어있는 데이터가 하나도 없는지 확인해서 boolean 반환 |
void | push(ItemType item) | 스택에 데이터 푸시 |
ItemType | pop() | 최근에 푸시한 데이터 반환 |
스택에 아무 데이터도 없는 경우 top에는 -1이 있음(top이 0이면 데이터 1개)
세부 동작
1)push()
push(3): 데이터 3 추가
① isFull() 수행, 데이터 개수가 maxsize인지 확인
② ①의 결과가 false인 경우, top을 1만큼 증가(->0)
③ top이 가리키는 위치(0)에 3 추가
2)pop()
① isEmpty() 수행, 데이터가 없는지 확인
② ①의 결과가 false인 경우, top을 1만큼 감소
③ top이 가리키는 위치의 데이터 반환
*peek(): 가장 최근에 push한 데이터를 꺼내지 않으면서 반환만 함
문제에서 '가장 가까운(최근)'이라고 하면 스택을 사용해야 할 가능성이 있음