2024/12/11 2

[자료구조] 스택(Stack)이란?

스택(Stack)이란?"쌓다", "쌓아 올리다"라는 뜻의 용어로, 데이터를 저장하고 관리하는 선형 자료 구조이다.LIFO(Last In, First Out) 형태로 마지막에 들어간 데이터가 가장 먼저 나오는 특성을 가지고 있다.예시로 접시나 상자 쌓기와 유사한 형태라고 생각하면 된다. 스택의 주요 특징은?LIFO(Last In, First Out)가장 마지막에 추가된 데이터가 가장 먼저 제거된다.한쪽 끝에서만 작업 수행데이터 삽입, 삭제가 스택의 맨 위(top)에서 이루어진다. 스택의 주요 연산은?1. push or add스택에 데이터를 추가한다.Stack stack = new Stack(); stack.push(10); // 스택에 10 추가stack.add(20); // 스택에 20 추가..

[백준 - JAVA] 28278 - 스택2

스택을 입문하기 좋은 매우 쉬운 문제다! 필자는 3년 전 C++로 코딩테스트 문제를 많이 풀었을 때, 거의 대부분 배열을 stack, vector으로 구현했었다.그래서 그런지 오랜만에 회고하는데도 큰 무리 없이 쉽게 푼 것 같다! 메모리 제한과 시간제한은 충분하다고 판단했다!  나의 구현 로직이다1 X: 정수 X를 스택에 넣는다. (1 ≤ X ≤ 100,000) -> push2: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. -> pop3: 스택에 들어있는 정수의 개수를 출력한다. -> size4: 스택이 비어있으면 1, 아니면 0을 출력한다. -> empty5: 스택에 정수가 있다면 맨 위의 정수를 출력한다. 없다면 -1을 대신 출력한다. -> peekfor 문 사..