👀 문제
https://programmers.co.kr/learn/courses/30/lessons/12909
👊 도전
1. 설계
- 스택을 이용한다.
- ’(‘는 push, ‘)’는 스택이 비어있지 않다면 pop한다.
- 문자열 s 순회 후 스택은 비어있어야 T이다.
2. 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;
/**
*
* @author HEESOO
*
*/
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> st=new Stack<>();
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
if(ch=='(') st.push(ch);
else {
if(st.isEmpty()) return false;
else st.pop();
}
}
return st.isEmpty()? true: false;
}
}
3. 결과
🤟 성공 🤟
4. 설명
- 스택을 이용한다
- for문으로 s의 문자를 하나씩 체크한다.
- ’(‘는 스택에 push
- ’)’는 스택이 비어있지 않다면 pop한다.
- 비어있다면 잘못된 문자열이므로 false를 리턴한다.
- for문 순회 후 스택에 값이 남아 있으면 안된다.