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

    Java  - 짝지어 제거하기

      난이도

     난이도 ★☆ ?

     

     

     

      문제

     이 문제를 보고 생각하는 도중, Stack의 구조와 유사하다는 것을 떠오르게 되었다.

     

    2021.10.08 - [Language/JAVA] - [Java] 자바 Stack 클래스 사용 방법

    Java의 Stack에 대해 공부를 한 후 접근을 한다면 누구나 쉽게 풀 수 있는 문제로 생각된다.

     

     

     

      해답 풀이

    import java.util.*;
    
    class Solution
    {
        public int solution(String s)
        {
            int answer = -1;
            
            Stack<Character> stack = new Stack<Character>();
    		for(int i=0; i < s.length(); i++) {
    			
    			//만약 stack에 값이 존재하고, 마지막값이 입력값하고 같다면.
    			if(!stack.empty() && stack.peek() == s.charAt(i)) {
    				stack.pop();
    			}
    			//만약 한 개라도 false 이라면 값 추가
    			else {
    				stack.push(s.charAt(i));
    			}
    		}
    		if(stack.size() > 0) {
    			answer = 0;
    		} else {
                answer = 1;
            }
    
            return answer;
        }
    }

     Stack을 활용한다면, 값을 쉽게 풀 수 있었다.

     

    성공~

     

     

      마무리

     하루에 한 개는 못 하더라도, 심심하면 풀기 좋아보인다.

    반응형

    'Game > 프로그래머스' 카테고리의 다른 글

    [프로그래머스] 메뉴 리뉴얼 - Java  (0) 2021.10.26

    댓글

    Designed by JB FACTORY