from __future__ import print_function
from __future__ import absolute_import
from .Stack import Stack

__author__ = 'Omkar Pathak'


def balanced_parentheses(parentheses):
    """ Use a stack to check if a string of parentheses is balanced."""
    stack = Stack(len(parentheses))
    for parenthesis in parentheses:
        if parenthesis == '(':
            stack.push(parenthesis)
        elif parenthesis == ')':
            stack.pop()
    return not stack.is_empty()


if __name__ == '__main__':
    examples = ['((()))', '((())']
    print('Balanced parentheses demonstration:\n')
    for example in examples:
        print(example + ': ' + str(balanced_parentheses(example)))