{ "cells": [ { "cell_type": "markdown", "id": "cc85d84a-9378-46ae-bf81-5a2a511dde97", "metadata": {}, "source": [ "# Matching Brackets Python Speed Test\n", "## How to run things fast" ] }, { "cell_type": "code", "execution_count": 16, "id": "58650dbf-4b58-4ff6-8ef2-1afbaf06de7c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/kwaku/repos/momus/momus.net/content/jupyter'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# a little housekeeping just in case\n", "#import os\n", "#os.getcwd()\n", "#os.chdir(\"./jupyter\")\n" ] }, { "cell_type": "markdown", "id": "e84cf695-45da-4f32-9461-24b56c2d85f2", "metadata": {}, "source": [ "We will try speedtest on my implimentation first" ] }, { "cell_type": "code", "execution_count": 17, "id": "1405bd7a-8848-46f4-9e4c-b412c8eeaa3a", "metadata": {}, "outputs": [], "source": [ "''' a simple tool to check for balanced brackets'''\n", "\n", "def is_paired(input_string):\n", " ''' square, round, and braces, oh my!'''\n", " # Legal: [[{{(())}}]]\n", " # Not Legal: [(])]]\n", " open_bracket = (\"(\", \"[\", \"{\")\n", " reversed_bracket = {')':'(', ']':'[', '}':'{'}\n", " last_open = []\n", "\n", " for char in input_string:\n", " if char in open_bracket:\n", " last_open.append(char)\n", " if char in reversed_bracket:\n", " if not last_open:\n", " return False\n", " if reversed_bracket[char] != last_open[-1]:\n", " return False\n", " try:\n", " last_open.pop()\n", " except IndexError:\n", " return False\n", " return not last_open" ] }, { "cell_type": "code", "execution_count": 20, "id": "6181b13c-59de-4cb5-aa41-9da6c0eb7cb2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "is_paired(\"CC((C))\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }