愚人節的禮物(stack棧的運用)

十二分熱愛發表於2018-08-01

四月一日快到了,Vayko想了個愚人的好辦法——送禮物。嘿嘿,不要想的太好,這禮物可沒那麼簡單,Vayko為了愚人,準備了一堆盒子,其中有一個盒子裡面裝了禮物。盒子裡面可以再放零個或者多個盒子。假設放禮物的盒子裡不再放其他盒子。 

用()表示一個盒子,B表示禮物,Vayko想讓你幫她算出愚人指數,即最少需要拆多少個盒子才能拿到禮物。 

Input

本題目包含多組測試,請處理到檔案結束。 
每組測試包含一個長度不大於1000,只包含'(',')'和'B'三種字元的字串,代表Vayko設計的禮物透檢視。 
你可以假設,每個透檢視畫的都是合法的。 

Output

對於每組測試,請在一行裡面輸出愚人指數。

Sample Input

((((B)()))())
(B)

Sample Output

4
1

 


import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s;
		char []str =new char[10001];  //字元陣列定義
		
		Stack stack = new Stack();
		while(sc.hasNextLine())
		{	int ans=0;               //用之前定義=0;
			s = sc.nextLine();
			str=s.toCharArray();     //轉化成字元陣列
			for(int i=0;i<s.length();i++)
			{
				if(str[i]=='(')stack.push(str[i]);
				if((str[i]==')')&&((char)stack.peek()=='('))stack.pop();//peek的時候報錯,強制轉化一下
				if(str[i]=='B')ans=(int)stack.size();
				
			}
			System.out.println(ans);
		}

	}

}

 

相關文章