Advertisement
Dronky

Matching Words

Feb 20th, 2016
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Stack;
  3.  
  4. public class Main {
  5.  
  6.     public static void main(String[] args) {
  7.         Scanner s = new Scanner(System.in);
  8.         int col = s.nextInt();
  9.         s.nextLine();
  10.         for (int i = 0; i < col; i++) {
  11.  
  12.             System.out.print(lampa(s.nextLine()) + " ");
  13.         }
  14.  
  15.         s.close();
  16.  
  17.  
  18.     }
  19.  
  20.  
  21.     private static int lampa(String str) {
  22.         int a = 0;
  23.         Stack st = new Stack();
  24.         for (int i = 0; i < str.length(); i++)
  25.             switch (str.charAt(i)) {
  26.                 case '(': {
  27.                     st.push(1);
  28.                     break;
  29.                 }
  30.                 case ')': {
  31.                     if (!st.empty() && Integer.parseInt(st.peek().toString()) == 1)
  32.                         st.pop();
  33.                     else return 0;
  34.                     break;
  35.                 }
  36.                 case '[': {
  37.                     st.push(2);
  38.                     break;
  39.                 }
  40.                 case ']': {
  41.                     if (!st.empty() && Integer.parseInt(st.peek().toString()) == 2)
  42.                         st.pop();
  43.                     else return 0;
  44.                     break;
  45.                 }
  46.                 case '<': {
  47.                     st.push(3);
  48.                     break;
  49.                 }
  50.                 case '>': {
  51.                     if (!st.empty() && Integer.parseInt(st.peek().toString()) == 3)
  52.                         st.pop();
  53.                     else return 0;
  54.                     break;
  55.                 }
  56.                 case '{': {
  57.                     st.push(4);
  58.                     break;
  59.                 }
  60.                 case '}': {
  61.                     if (!st.empty() && Integer.parseInt(st.peek().toString()) == 4)
  62.                         st.pop();
  63.                     else return 0;
  64.                     break;
  65.                 }
  66.             }
  67.         if (st.empty())
  68.             return 1;
  69.         else return 0;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement