iNoobAvicena

UTP Brackets Validation

Nov 21st, 2020 (edited)
91
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2. import java.util.LinkedList;
  3.  
  4. public class TestMain {
  5.     public static void main(String[] args) {
  6.         Scanner in = new Scanner(System.in);
  7.         Stack brackets = new Stack();
  8.         String[] inputBrackets = in.nextLine().split("");
  9.         //Lengkapi
  10.        
  11.         boolean cek = true;
  12.  
  13.         for(int i = 0; i < inputBrackets.length; i++) {
  14.             char current = inputBrackets[i].charAt(0);
  15.             switch (current) {
  16.                 case '(':
  17.                 case '{':
  18.                 case '[':
  19.                     brackets.push(inputBrackets[i]);
  20.                     break;
  21.                 case ')':
  22.                     if(!brackets.pop().equals("("))
  23.                         cek = false;
  24.                     break;
  25.                 case '}':
  26.                     if(!brackets.pop().equals("{"))
  27.                         cek = false;
  28.                     break;
  29.                 case ']':
  30.                     if(!brackets.pop().equals("["))
  31.                         cek = false;
  32.                     break;
  33.             }
  34.             if (!cek) {
  35.                 break;
  36.             }
  37.         }
  38.         System.out.println(brackets.isEmpty());
  39.     }
  40. }
  41.  
  42.  
  43. class Stack {
  44.     private final LinkedList<String> stringLinkedList;
  45.  
  46.     public Stack() {
  47.         stringLinkedList = new LinkedList<>();
  48.     }
  49.  
  50.     public boolean isEmpty() {
  51.         return stringLinkedList.isEmpty();
  52.     }
  53.  
  54.     public void push(String pushedString) {
  55.         stringLinkedList.addFirst(pushedString);
  56.     }
  57.  
  58.     public String pop() {
  59.         return stringLinkedList.removeFirst();
  60.     }
  61.  
  62.     public String peek() {
  63.         return stringLinkedList.getFirst();
  64.     }
  65. }
RAW Paste Data Copied