File size: 2,971 Bytes
8938d1b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
 "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
}