본문 바로가기
Java/알고리즘과 자료구조

java.util.Stack

by Mecodata 2023. 6. 21.

Stack

- java.util 패키지로 LIFO 구조인 Stack을 구현할 때 사용

 

- push() = Stack에 데이터 추가

- pop() = Stack 맨 뒤의 데이터 출력 및 제거

- peek() = Stack 맨 뒤의 데이터 출력 (제거 X)

- clear() = Stack 안에 있는 데이터 모두 제거

- size() = Stack 안의 데이터 개수 반환

- contains() = Stack에 지정한 데이터가 포함되어 있는지 여부(true/false) 반환

- empty() = Stack이 비어있는지(true/false) 여부 반환

 

Example

https://school.programmers.co.kr/learn/courses/30/lessons/12973

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.Stack;

class Solution{
    public int solution(String s){
        Stack<Character> stack = new Stack<>();
        char[] arr = s.toCharArray();
        for(char c : arr){
            if(!stack.isEmpty() && stack.peek().equals(c)){
                stack.pop();
            }else{
                stack.push(c);
            }       
        }   
        return stack.isEmpty() ? 1 : 0;
    }
}

 

'Java > 알고리즘과 자료구조' 카테고리의 다른 글

com.jcraft.jsch  (0) 2023.12.13
java.util.HashSet  (0) 2023.11.14
java.lang.StringBuilder, StringBuffer  (0) 2023.05.16
java.math.BigInteger  (0) 2023.04.24
java.util.Deque  (0) 2023.02.27

댓글