SHARE
TWEET

Balanced Parentheses

a guest Jan 20th, 2020 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace P08BalancedParetheses
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             var input = Console.ReadLine();
  12.  
  13.             var bracketsStack = new Stack<char>();
  14.             var isBalanced = true;
  15.  
  16.             if (input.Length % 2 == 0)
  17.             {
  18.                 for (int i = 0; i < input.Length; i++)
  19.                 {
  20.                     var currentChar = input[i];
  21.  
  22.                     if (currentChar == '(' ||
  23.                         currentChar == '[' ||
  24.                         currentChar == '{')
  25.                     {
  26.                         bracketsStack.Push(currentChar);
  27.                     }
  28.                     else if (currentChar == ')' ||
  29.                              currentChar == ']' ||
  30.                              currentChar == '}')
  31.  
  32.                     {
  33.                         if (currentChar == ')' && bracketsStack.Peek() == '(')
  34.                         {
  35.                             bracketsStack.Pop();
  36.                         }
  37.                         else if (currentChar == ']' && bracketsStack.Peek() == '[')
  38.                         {
  39.                             bracketsStack.Pop();
  40.                         }
  41.                         else if (currentChar == '}' && bracketsStack.Peek() == '{')
  42.                         {
  43.                             bracketsStack.Pop();
  44.                         }
  45.                         else
  46.                         {
  47.                             isBalanced = false;
  48.                             break;
  49.                         }
  50.                     }
  51.                 }
  52.             }
  53.  
  54.             else
  55.             {
  56.                 isBalanced = false;
  57.             }
  58.  
  59.             if (isBalanced)
  60.             {
  61.                 Console.WriteLine("YES");
  62.             }
  63.             else
  64.             {
  65.                 Console.WriteLine("NO");
  66.             }
  67.         }
  68.     }
  69. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top