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