[swexpert] 5432. 쇠막대기 자르기 (JAVA)

728x90
반응형

1. ( 괄호라면 cnt+1해줘서 막대의 개수를 늘려준다.

2. ) 괄호가 왔을 때 바로 직전이 ( 라면 레이저라서 바로 직전의 ( 하나를 제외한 (((들의 개수를 구해주면 된다.

3. 만약 ) 괄호의 바로 전이 (가 아니라면 해당 막대의 끝이므로 ans+1을 더해주고 막대의 개수 cnt를 한개 빼준다

 

import java.util.Scanner;

public class Solution {

	static int t;
	static int ans;
	static int cnt;
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		t=sc.nextInt();
		for (int tc = 1; tc <= t; tc++) {
			String s=sc.next();
			ans=0;
			cnt=0;
			for (int i = 0; i < s.length(); i++) {
				if(s.charAt(i)==')') {
					if(s.charAt(i-1)=='(') {
						cnt-=1;
						ans+=cnt;
					}else {
						ans+=1;
						cnt-=1;
					}
				}else {
					cnt+=1;
				}
			}
			System.out.printf("#%d %d\n",tc,ans);
			
		}
		
	}
}
728x90
반응형
TAGS.

Comments