반응형
Sw Expert
5432. 쇠막대기 자르기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=1; i<=T; i++){
String text = sc.next();
System.out.println("#" + i + " " + check(text) );
}
}
static int check(String text){
int bar = 0;
int piece = 0;
for(int i=0; i<=text.length()-2; i++){
String head= text.substring(i,i+2);
if(head.equals("((")){
bar++;
piece++;
}
if(head.equals("()")) piece += bar;
if(head.equals("))")) bar--;
}
return piece;
}
}
*큐를 이용한 풀이
int answer = 0;
Stack<Integer> st = new Stack<>();
for (int i = 0; i < arrangement.length(); i++) {
if (arrangement.charAt(i) == '(') {
st.push(i);
} else if (arrangement.charAt(i) == ')') {
if (st.peek() + 1 == i) {
st.pop();
answer += st.size();
} else {
st.pop();
answer += 1;
}
}
}
return answer;
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Hash] 완주하지 못한 선수 (0) | 2018.09.17 |
---|---|
의석이의 우뚝 선 산 (0) | 2018.09.14 |
[BFS] 미로탐색 (0) | 2018.09.10 |
진수의 홀수 약수 (0) | 2018.09.10 |
에라토스테네스의 체 (0) | 2018.09.10 |