문제

  • 링크
    title: "코딩테스트 연습 | 프로그래머스 스쿨"
    image: "https://school.programmers.co.kr/assets/img-meta-programmers-86b32ab1929330ced348f75cf9a8033cbf8da3e78611d80f05dc3a321927f13b.png"
    description: "개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!"
    url: "https://school.programmers.co.kr/learn/challenges?order=recent&languages=java"
    

    문제 풀이

    문제 접근

    1. 빈 스택을 생성합니다.
    2. 문자열의 각 문자를 순회합니다.
    3. 현재 문자가 스택의 top과 같으면 스택에서 pop합니다.
    4. 그렇지 않으면 현재 문자를 스택에 push합니다.
    5. 모든 문자를 처리한 후, 스택이 비어있으면 1을 반환하고 그렇지 않으면 0을 반환합니다.

      간단한 수도 코드 정리

      Type/Paste Your Code
      

풀이 코드

import java.util.*;

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