알고리즘/스택 큐
프로그래머스 - 올바른 괄호(Java)
연향동큰손
2025. 1. 2. 13:57
스택 관련된 알고리즘 문제를 풀어봤다면 아주 쉽게 풀 수 있는 문제이다.
구현 과정은 다음과 같다.
- 문자열 순회
- 여는괄호 "(" 가 나오면 스택에 push
- 닫는괄호 ")"가 나오면 스택에서 pop()연산 수행 **(닫는 괄호가 나왔을때 스택이 비어있다는 말은 그 뒤로도 올바른 괄호를 만족하지 않으므로 바로 false 리턴)
- 문자열 순회가 끝났을때 스택이 비어있으면 참, 스택이 비어있지 않으면 거짓 리턴
import java.util.*;
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<>();
int size = s.length();
for(int i=0; i<size; i++){
char c = s.charAt(i);
if(c=='('){
stack.push(s.charAt(i));
}
else{
if(stack.isEmpty()){
return false;
}
stack.pop();
}
}
if(stack.isEmpty()){
answer=true;
}
else answer = false;
return answer;
}
}