코테
[java] 짝지어 제거하기
상똥
2024. 1. 11. 17:14
풀이 |
1. 스택을 생성한다 - 단어를 하나씩 넣어주기 위해 2. 인덱스를 생성한다 - 단어를 하나씩 훑어보기 위해서 3. while문을 사용해서 단어를 하나씩 훑어본다 - 만약 스택이 비어있으면 단어를 push한 후 index++, continue - 위의 과정을 거치지 않으면 peek값을 뽑으려 하기 때문에 컴파일 에러 - 스택의 가장 위의 값(직전 단어)과 현재 단어가 일치하면 pop후 index++ - 둘 다 해당되지 않는다면 push후 index++ 4. while문을 빠져나왔을 때, 스택이 비어있으면 단어가 모두 삭제된 것으로 return 1, 아니면 return 0 |
회고 |
. |
코드 (접은 글) |
더보기
import java.util.*;
class Solution
{
public int solution(String s)
{
Stack<Character> stack = new Stack<>();
int index = 0;
while(index < s.length()) {
if(stack.isEmpty()){
stack.push(s.charAt(index));
index++;
continue;
}
if(stack.peek() == s.charAt(index)){
stack.pop();
index++;
continue;
}
stack.push(s.charAt(index));
index++;
}
if (stack.isEmpty()){
return 1;
}
return 0;
}
}