본문 바로가기

코딩 테스트(Coding Test)/알고리즘 개념

스택(Stack)

스택의 ADT(추상 자료형, Abstract Data Type)

1. 푸시(push)

2. 팝(pop)

3. 가득 찼는지 확인(isFull)

4. 비었는지 확인(isEmpty)

5. 최근에 삽입한 데이터의 위치 확인용 변수(top)

구분 정의 설명
연산 boolean isFull() 스택에 들어 있는 데이터 개수가 maxsize인지 확인해 boolean값을 반환. 가득 차 있다면 true, 아니면 false
boolean isEmpty() 스택에 들어 있는 데이터가 하나도 없는지 확인해 boolean값을 반환. 데이터가 하나라도 있으면 false, 아니면 true
void push(ItemType item) 스택에 데이터를 푸시
ItemType pop() 스택에서 최근에 푸시한 데이터를 팝, 그 데이터를 반환
상태 Int top 스택에서 최근에 푸시한 데이터의 위치를 기록
ItemType data[maxsize] 스택의 데이터를 관리하는 배열. 최대 maxsize개의 데이터를 관리

 


Stack 클래스

Stack<Integer> stack = new Stack<>(); // 스택 객체 생성
// 스택에 데이터 푸시
stack.push(1);
stack.push(3);
// 스택이 비어 있는지 확인
System.out.println(stack.isEmpty()); // false

// 스택에서 팝
System.out.println(stack.pop()); // 3
System.out.println(stack.pop()); // 1
System.out.println(stack.isEmpty()) // true

// 스택에 가장 최근에 푸시한 값
System.out.println(stack.peek()); // 5
System.out.println(stack.pop()); // 5
// 스택에 들어 있는 데이터의 개수(size)
System.out.println(stack.size()); // 1

'코딩 테스트(Coding Test) > 알고리즘 개념' 카테고리의 다른 글

DFS / BFS  (0) 2024.11.22
분할 정복(Divide and Conquer) - Merge Sort  (2) 2024.11.13
코테 필수 문법  (4) 2024.10.06
시간복잡도  (1) 2024.10.06
Pseudo-code 작성 요령  (1) 2024.10.06