반응형
1. 이론
- 스택(stack): 먼저 입력한 데이터를 제일 나중에 꺼냄(FILO: First In Last Out)
- 삽입 연산을 push, 꺼내는 연산을 pop
- 스택 ADT: 삽입(push), 꺼내기/삭제(pop), isFull(), isEmpty(), top(최근 데이터 인덱스), data(데이터 저장공간)
(시간복잡도)
-
- 삽입: O(1)
- 삭제: O(1)
(선택시 고려할 점)
- 최근에 삽입한 데이터를 자주 사용하는 경우
-
2. 프로그램 언어별 문법
- 스택 선언 및 초기화
- 스택 접근(top)
- 스택 제어: 삽입(push), 삭제(pop)
<C언어>
<C++>
더보기
#include <stack>
/* 스택 생성 및 초기화 */
stack<자료형> st;
/* 삽입 */
st.push(값); // 요소 삽입
/* 삭제 */
st.pop(); // 마지막 삽입 요소 삭제
/* 변경 */
/* 조회 */
st.top();
/* 전체 조회 */
while (!st.empty()) {
std::cout << st.top() << std::endl;
st.pop();
}
/* 기타 메서드 */
st.size(); // 스택의 크기 반환
st.empty(); // 비어있다면 true 반환
<C#>
<Java>
<Python>
더보기
# 스택 생성 및 초기화
st1 = list()
st2 = []
st3 = [1, 2, 3, 4]
st4 = [i for i in range(10)]
# 삽입
st1.append(10)
st1.append(3)
st1.append(2)
# 삭제
st.pop()
# 값 확인
print(f"{st[-1]}"
# 비어있는지 확인
print(f"비어있는지: {len(st) == 0}")
<JavaScript>
3. 추천 문제
(Programmers)
- Lv 2: 괄호 회전하기(76502) / 괄호 회전하기(76502) 해설
- Lv 2: 짝지어 제거하기(12973) / 짝지어 제거하기(12973) 해설
- Lv 2: 주식 가격(42584) / 주식 가격(42584) 해설
- Lv 1: 크레인 인형뽑기 게임(64061) / 크레인 인형 뽑기 게임(64061) 해설
- Lv 3: 표 편집(81303) / 표 편집(81303) 해설
- Lv 1: 같은 숫자는 싫어(12906) / 같은 숫자는 싫어(12906) 해설
- Lv 2: 올바른 괄호(12909) / 올바른 괄호(12909) 해설
- Lv 0: 컨트롤 제트(120853) / 컨트롤 제트(120853) 해설
(leetcode)
-
반응형
'1-3. 코딩테스트(2025년 OPEN 예정) > PCCP(코딩전문역량인증)' 카테고리의 다른 글
[PCCP] 자료구조 - 덱 (0) | 2024.12.14 |
---|---|
[PCCP] 자료구조 - 큐 (0) | 2024.12.14 |
[PCCP] 자료구조 - 링크드리스트 (0) | 2024.12.14 |
[PCCP] 자료구조 - 배열 (0) | 2024.12.14 |
[PCCP] 라이브러리 (0) | 2024.12.14 |