Skip to content

Instantly share code, notes, and snippets.

@pawlos
Last active December 24, 2017 18:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pawlos/24dc8a45f7fa555157bc65aaf04d428a to your computer and use it in GitHub Desktop.
Save pawlos/24dc8a45f7fa555157bc65aaf04d428a to your computer and use it in GitHub Desktop.
Solution to Day 2: Corruption Checksum
# advent of code 2017
def calc(inp, split = ' '):
s = 0
for i in inp:
arr = [int(w) for w in i.split(split)]
for j in range(len(arr)):
for k in range(j+1, len(arr)):
if arr[j] % arr[k] == 0 or arr[k] % arr[j] == 0:
#print arr[j], arr[k]
a = [arr[k],arr[j]]
s += (max(a)/min(a))
return s
input_table = ["798 1976 1866 1862 559 1797 1129 747 85 1108 104 2000 248 131 87 95",
"201 419 336 65 208 57 74 433 68 360 390 412 355 209 330 135",
"967 84 492 1425 1502 1324 1268 1113 1259 81 310 1360 773 69 68 290",
"169 264 107 298 38 149 56 126 276 45 305 403 89 179 394 172",
"3069 387 2914 2748 1294 1143 3099 152 2867 3082 113 145 2827 2545 134 469",
"3885 1098 2638 5806 4655 4787 186 4024 2286 5585 5590 215 5336 2738 218 266",
"661 789 393 159 172 355 820 891 196 831 345 784 65 971 396 234",
"4095 191 4333 161 3184 193 4830 4153 2070 3759 1207 3222 185 176 2914 4152",
"131 298 279 304 118 135 300 74 269 96 366 341 139 159 17 149",
"1155 5131 373 136 103 5168 3424 5126 122 5046 4315 126 236 4668 4595 4959",
"664 635 588 673 354 656 70 86 211 139 95 40 84 413 618 31",
"2163 127 957 2500 2370 2344 2224 1432 125 1984 2392 379 2292 98 456 154",
"271 4026 2960 6444 2896 228 819 676 6612 6987 265 2231 2565 6603 207 6236",
"91 683 1736 1998 1960 1727 84 1992 1072 1588 1768 74 58 1956 1627 893",
"3591 1843 3448 1775 3564 2632 1002 3065 77 3579 78 99 1668 98 2963 3553",
"2155 225 2856 3061 105 204 1269 171 2505 2852 977 1377 181 1856 2952 2262"]
test_input = ["5 9 2 8",
"9 4 7 3",
"3 8 6 5"]
print calc(test_input)
print calc(input_table, '\t')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment