자바/코딩테스트
[프로그래머스] 짝지어 제거하기 - Java(자바)
대전집주인
2024. 3. 25. 13:35
728x90
SMALL
문제 이해
- 같은 알파벳 소문자가 짝지어 이루어져있으면 그 둘을 제거한다.
- 제거된 알파벳의 앞뒤로 문자열을 이어 붙인다.
- 위와 같이 반복하였을때 문자열이 다 제거되면 1 아니면 0
- 스택을 이용하면 문자열을 스택을 넣기전 이전 스택의 값(peek)를 통해 같은 값이면 pop 없으면 push로 관리
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = -1;
Stack<String> stack = new Stack<>();
for(int i = 0; i<s.length(); i++){
if(!stack.isEmpty()){
if(stack.peek().equals(s.substring(i, i+1))){
stack.pop();
}else{
stack.push(s.substring(i, i+1));
}
}else{
stack.push(s.substring(i, i+1));
}
}
return stack.size() > 0 ? 0 : 1;
}
}
728x90
LIST