[프로그래머스]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