코딩테스트

코딩테스트 스택 기초

망고고래 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한 데이터를 꺼내지 않으면서 반환만 함

 

문제에서 '가장 가까운(최근)'이라고 하면 스택을 사용해야 할 가능성이 있음