프로그래머스
[프로그래머스 Level 2] 짝지어 제거하기 [Java]
거북이같은곰
2022. 9. 24. 05:09
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
※. 스택 괄호 문제와 똑같다.
※. 같은 문자 두 개가 연속으로 붙어있다면 제거 할 수 있다.
(스택에 넣어서 이전의 문자(스택의 맨 위) 와 새로 찾은 문자가 같다면 스택에서 꺼낸다(제거))
(같지 않다면 스택에 넣는다. 차례대로 제거하면 짝이 맞는지 확인할 수 있다.)
※. 스택이 남아있다면 짝이 맞지 않는 문자열 0을 반환 아니라면 1
import java.util.Stack;
class Solution
{
public int solution(String s)
{
Stack<Character> stk = new Stack<>();
for(int i = 0; i < s.length(); i++) {
if(stk.isEmpty()) {
stk.push(s.charAt(i));
}
else if(stk.peek() == s.charAt(i)){
stk.pop();
}
else {
stk.push(s.charAt(i));
}
}
if(stk.isEmpty()) {
return 1;
}
else {
return 0;
}
}
}