using System.Collections.Generic;
public static void Main()
var input = "{()}hello world!";
Console.WriteLine(isBalanced(input));
private static bool isBalanced(string codeSnippet)
var openingToClosingBrackets = new Dictionary<char, char>()
var closingToOpeningBrackets = new Dictionary<char, char>();
foreach (var kvp in openingToClosingBrackets)
closingToOpeningBrackets.Add(kvp.Value, kvp.Key);
var s = new Stack<Char>();
for (var i = 0; i < codeSnippet.Length; i++)
if (openingToClosingBrackets.Keys.Contains(codeSnippet[i]))
else if (closingToOpeningBrackets.Keys.Contains(codeSnippet[i]))
if (s.Pop() != closingToOpeningBrackets[codeSnippet[i]])