📝문제 설명
- 연속된 문자가 2개가 나타나면 삭제된다.
- 연속된 문자를 계속 삭제하여 문자열을 모두 제거하면 1을 반환 아니면 0 반환
- 뭔가 괄호 문제랑 비슷..?!!
📢입출력 예시
✏️문제 풀이
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = -1;
Stack<Character> mystack = new Stack<>();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(mystack.isEmpty()){
mystack.push(c);
}else{
if(mystack.peek() == c){
mystack.pop();
}else{
mystack.push(c);
}
}
}
if(mystack.isEmpty()) answer = 1;
else answer = 0;
return answer;
}
}
💡새로 알게된 점
다른 사람들이 푼 코드를 보다가 return 형식을 간단하게 하는 방법을 보았다.
return stack.isEmpty() ? 1 : 0;
삼항연산자를 쓰면 return 값을 보다 짧게 나타낼 수 있다.
'📖Algorithm > Stack' 카테고리의 다른 글
자바 [Programmers] 2단계 - 괄호 회전하기 (0) | 2024.12.06 |
---|---|
C++ [Algorithm] - 백준 10773 제로 (0) | 2024.07.29 |
C++ [Algorithm] - 백준 28278 스택2 (0) | 2024.07.29 |