[프로그래머스]Java - 짝지어 제거하기
- Game/프로그래머스
- 2021. 10. 7.
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 |
---|