문제링크
LeetCode
문제
주어진 문장에서 인접한 동일한 단어가 발견되면, 해당 단어를 지워 남은 문장을 반환합니다.
풀이
스택을 생각하고 문제풀이에 접근해야 합니다.
문장의 처음위치부터 끝까지 한 칸씩 이동하면서 문자를 선택하여 스택에 집어넣고 만약, 이때 집어넣을 문자가 스택의 Top과 일치한 경우 스택을 Pop해준후 진행합니다.
코드
class Solution {
public String removeDuplicates(String s) {
String answer = "";
int len = s.length();
for(int i = 0; i<len; i++) {
if(answer.isEmpty()) {
answer+=s.charAt(i);
continue;
}
if(answer.charAt(answer.length()-1) == s.charAt(i)){
answer = answer.substring(0, answer.length()-1);
continue;
}
answer+=s.charAt(i);
}
return answer;
}
}