import java.util.*;
class Main {
public String solution(String s) {
String answer = "YES";
int cnt = 0;
for (char c : s.toCharArray()) {
if (c == '(')
cnt++;
else {
cnt--;
if (cnt < 0)
return "NO";
}
}
if (cnt != 0)
answer = "NO";
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String s = kb.next();
System.out.print(T.solution(s));
kb.close();
}
}
import java.util.*;
class Main {
public String solution(String s) {
String answer = "YES";
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (c == '(')
stack.push(c);
else {
if (stack.empty())
return "NO";
stack.pop();
}
}
if (!stack.isEmpty())
return "NO";
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String s = kb.next();
System.out.print(T.solution(s));
kb.close();
}
}
Stack 사용
'알고리즘 > JAVA' 카테고리의 다른 글
3. 크레인 인형뽑기(카카오) (0) | 2021.09.22 |
---|---|
2. 괄호문자제거 (0) | 2021.09.22 |
5. K번째 큰 수 (0) | 2021.09.22 |
1. 두 배열 합치기 (0) | 2021.09.21 |
4. 모든 아나그램 찾기 (0) | 2021.09.20 |
댓글