{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "foo = [1, 2, 3, 3]\n", "\n", "for idx, value in enumerate(foo):\n", " print(\"value\", value)\n", " print(\"foo\", foo[:idx])\n", " print(\"index\", idx)\n", " print(\"sum\", sum(foo[:idx+1]))\n", "\n", "\n", "sum(foo[:1])\n", "\n", "#!/bin/python3\n", "\n", "import math\n", "import os\n", "import random\n", "import re\n", "import sys\n", "\n", "\n", "\n", "#\n", "# Complete the 'balancedSum' function below.\n", "#\n", "# The function is expected to return an INTEGER.\n", "# The function accepts INTEGER_ARRAY arr as parameter.\n", "#\n", "\n", "def balancedSum(arr):\n", " # Write your code here\n", " left_sum = 0 \n", " right_sum = 0\n", " for idx, value in enumerate(arr):\n", " # print(idx, value)\n", " # left_sum += value\n", " # print(\"this is left_sum\", left_sum)\n", " # print(\"this is the sum\", sum(arr[idx+2::]))\n", " # print(sum(arr[:idx+1]) == sum(arr[idx+2::]))\n", " # this way isn't fast enough. I suppose you could also just keep a running total \n", " if sum(arr[:idx+1]) == sum(arr[idx+2::]):\n", " return idx+1\n", " # if left_sum == sum(arr[idx+2::]):\n", " # print(\"success\")\n", " # return idx+1 \n", " \n", " \n", "\n", "if __name__ == '__main__':\n", " fptr = open(os.environ['OUTPUT_PATH'], 'w')\n", "\n", " arr_count = int(input().strip())\n", "\n", " arr = []\n", "\n", " for _ in range(arr_count):\n", " arr_item = int(input().strip())\n", " arr.append(arr_item)\n", "\n", " result = balancedSum(arr)\n", "\n", " fptr.write(str(result) + '\\n')\n", "\n", " fptr.close()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "arr = [1, 2, 3, 3]\n", "left_sum = 0 \n", "right_sum = 0 \n", "\n", "for idx, value in enumerate(arr):\n", " if idx == 0: \n", " # initialize \n", " right_sum = sum(arr[idx+2::])\n", "\n", " left_sum += value\n", " right_sum -= arr[idx+1]\n", "\n", " # compare\n", "\n", " if left_sum == right_sum:\n", " print(\"success\")\n", " print(idx)\n", "\n", "\n", " \n", " # print(\"value\", value)\n", " # print(\"foo\", foo[:idx])\n", " # print(\"index\", idx)\n", " # print(\"sum\", sum(foo[:idx+1]))\n" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }