import java.util.*;
class Main {
public int solution(String str) {
int answer = 0;
Stack<Character> stack = new Stack<>();
int lt = 0;
for (char c : str.toCharArray()) {
if (c == '(') {
stack.push(c);
lt++;
} else if (c == ')') {
if (stack.peek() == '(') {
stack.push(c);
lt--;
answer += lt;
} else {
stack.push(c);
lt--;
answer += 1;
}
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.print(T.solution(str));
kb.close();
}
}
import java.util.*;
class Main {
public int solution(String str) {
int answer = 0;
Stack<Character> stack = new Stack<>();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '(') {
stack.push(str.charAt(i));
} else {
stack.pop();
if (str.charAt(i - 1) == '(') {
answer += stack.size();
} else {
answer += 1;
}
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.print(T.solution(str));
kb.close();
}
}
'알고리즘 > JAVA' 카테고리의 다른 글
7. 교육과정 설계 (0) | 2021.09.23 |
---|---|
6. 공주 구하기 (0) | 2021.09.23 |
4. 후위식 연산(postfix) (0) | 2021.09.23 |
3. 크레인 인형뽑기(카카오) (0) | 2021.09.22 |
2. 괄호문자제거 (0) | 2021.09.22 |
댓글