프로그래머스(Java) - 짝지어 제거하기
문제 링크
문제 풀이
연쇄적으로 짝지어 지면 제거하는 logic의 경우 stack으로 구현하면 비교적 간단하게 풀린다고 생각한다. stack이 비어있다면 push 해주며, stack.peek()와 그 다음 단어가 같다면 맨꼭대기를 pop해주면 되고, 아니라면 push 해주면된다.
코드
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = 0;
String [] arr = s.split("");
Stack<String> st = new Stack();
for(int i=0; i<arr.length; i++){
if(st.size()==0){
st.push(arr[i]);
continue;
}
if(arr[i].equals(st.peek())){
st.pop();
}else{
st.push(arr[i]);
}
}
if(st.size()==0){
answer=1;
}else{
answer=0;
}
return answer;
}
}
Author And Source
이 문제에 관하여(프로그래머스(Java) - 짝지어 제거하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@courage331/프로그래머스Java-짝지어-제거하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)