백준 알고리즘 강의를 들으며 정리한 내용입니다.
스택은 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 구조이다.
마지막에 넣은 것이 먼저 나오기 때문에 (LIFO: Last In First Out)라고 한다.
push: 자료를 넣는 연산. return 값 x
pop: 스택에서 자료를 빼는 연산. return 값 x
top: 스택의 가장 위에 있는 자료를 보는 연산. 자료 값이 return됨.
empty: 스택이 비었는지 아닌지 알아보는 연산. true, false return
size: 스택에 저장되어 있는 자료의 개수를 알아보는 연산. 자료 개수 return
스택의 구현
일차원 배열로 구현 가능하다.
int stack[1000];
int size = 0;
void push(int data) {
stack[size] = data;
size +=1;
}
void pop() {
stack[size-1] = 0;
size -=1;
}
stack 문제
https://www.acmicpc.net/problem/10828
https://www.acmicpc.net/problem/9012
https://www.acmicpc.net/problem/1406
'Study > Java' 카테고리의 다른 글
[JAVA] Optional 이란? (0) | 2022.12.06 |
---|---|
[JAVA] 내부 클래스 (0) | 2022.11.13 |
[JAVA] for문 축약(for each문), if-else 축약(삼항 연산자) (0) | 2022.10.18 |
[JAVA] 클래스 변수, 인스턴스 변수, 지역 변수 (0) | 2022.10.12 |
[JAVA] 생성자 (0) | 2022.10.10 |