Deep_Dev
article thumbnail

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

 

 


Stack ์‚ฌ์šฉ.

 

s์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ Stack์˜ ์ตœ์ƒ๋‹จ๊ฐ’์ด๋ž‘ ๊ฐ™์œผ๋ฉด pop ํ•˜๊ณ  ์•„๋‹ˆ๋ฉด add ํ•œ๋‹ค.

 

import java.util.*;

class Solution
{
    public int solution(String s)
    {
         int answer = 0;

        Stack<Character> stack = new Stack<>();
        int index = 0;

        stack.add(s.charAt(index++));
        while(index<s.length()){
            char ch = s.charAt(index++);

            if(!stack.empty() && stack.peek() == ch) stack.pop();
            else stack.push(ch);

        }
        return stack.isEmpty() ? 1 : 0;
    }
}