본문 바로가기
Algorithm/프로그래머스풀이

[알고리즘 문제풀이] 프로그래머스 - 짝지어 제거하기 / JAVA(자바)

by 계범 2022. 2. 26.

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

 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr

/**
    1. 스택을 이용한 풀이
    
    2. 문자열을 탐색하면서 해당 문자와 스택에 담긴 문자가 같을때, 스택에서 pop 아니면 스택에 push
    
    3. 최종 스택에 담긴 문자열이 있으면 0반환 없으면 1반환
**/

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;
    }
}

댓글