본문 바로가기

Stack2

[프로그래머스] 더한 원소들의 합 문제 설명 및 예시 주어진 문자열 중 Z가 있다면 Z 바로 전에 나온 숫자를 제외하고 나머지 숫자를 연산하는 문제이다. 풀이 단순 반복문과 조건문으로 코드를 작성하다가 Stack을 사용하면 효율적으로 해결할 수 있지 않을까? 생각했다. 마침 얼마 전에 Stack에 대해 공부하고 포스팅을 했으니 문제에 대입해보기로 하였다. 1. 연산을 위해 Integer 타입의 Stack을 생성한다. 2. 공백을 기준으로 나눈 문자열 s에서 반복문을 활용하여 "Z"를 만나면 stack.pop()으로 *최상위 스택 요소를 제거한다. "Z"가 아니라면 Stack에 요소를 삽입한다. * Z 바로 전에 나온 숫자를 제거해야 하므로 stack.pop() 메서드가 적절하다. 3. "Z"와 "Z" 전에 나온 숫자를 제거한 나머지 요소.. 2023. 10. 17.
Stack (스택) 프로그래머스 사이트에서 문제를 풀다가 Java의 Stack에 대해 알게 되었다. Stack에 대한 기본 설명과 활용 예제를 기록하기 위해 포스트를 작성하려 한다. 스택(Stack) 자료 구조 중 하나로, 데이터를 일렬로 나열한 구조로, 데이터를 저장하거나 꺼낼 때에는 가장 최근에 저장한 데이터부터 차례로 처리한다. 이를 "Last In, First Out (LIFO)"라고 부르는데 Java에서는 java.util.Stack 클래스나 java.util.Deque 인터페이스를 사용하여 스택을 구현할 수 있다. 스택의 주요 메서드 1. push(E item) : 스택에 요소를 추가한다. 가장 최근에 추가한 요소가 스택의 맨 위에 위치함 예시 import java.util.Stack; public class S.. 2023. 10. 11.