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
'자바 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 점프와 순간 이동 - Java(자바) (0) | 2024.03.25 |
---|---|
[프로그래머스] 카펫 - Java(자바) (0) | 2024.03.25 |
[프로그래머스] 숫자의 표현 - Java(자바) (0) | 2024.03.25 |
[프로그래머스] 올바른 괄호 - Java(자바) (0) | 2024.03.25 |
[백준] 좋은 암호 - Java(자바) (0) | 2024.03.23 |