[Java] Lv.2 프로그래머스 짝지어 제거하기

rse·2023년 10월 14일
0

알고리즘

목록 보기
41/44

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

설명

처음에 문자열 문제라서 substring으로 풀었다가 뭔가 이상해서 다시보니 저번 괄호문제랑 비슷한 문제였다.

스택으로 풀었고, 문제는 간단하다.
현재 스택 맨 위에 있는 문자열과 지금 문자열이 같은 문자열이라면 스택에서 제거해주고 아니라면 넣어주면 된다.

코드

import java.util.*;
class Solution
{
    public int solution(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            if (!stack.isEmpty() && stack.peek().equals(s.charAt(i))) {
                stack.pop();
            } else stack.push(s.charAt(i));
        }

        return (stack.isEmpty()) ? 1 : 0;
    }
}
profile
기록을 합시다

0개의 댓글