From 6b22e08e9916516d3c927a05cd9fd72dbb097481 Mon Sep 17 00:00:00 2001 From: TiagoRG Date: Wed, 7 Jun 2023 22:43:31 +0100 Subject: [PATCH] Started the migration to the C# solution --- 2022/day1/day1.py | 25 - 2022/day1/input.txt | 2250 --------------- 2022/day2/day2_part1.py | 27 - 2022/day2/day2_part2.py | 27 - 2022/day2/input.txt | 2501 ----------------- 2022/day3/.idea/.idea.Day3/.idea/.gitignore | 13 - 2022/day3/.idea/.idea.Day3/.idea/.name | 1 - 2022/day3/.idea/.idea.Day3/.idea/discord.xml | 7 - .../.idea/.idea.Day3/.idea/indexLayout.xml | 8 - 2022/day3/.idea/.idea.Day3/.idea/vcs.xml | 6 - 2022/day3/Day3.csproj | 10 - 2022/day3/Day3.sln | 16 - 2022/day3/Part1.cs | 38 - 2022/day3/Part2.cs | 48 - 2022/day3/Program.cs | 8 - 2022/day3/bin/Debug/net6.0/Day3 | Bin 77208 -> 0 bytes 2022/day3/bin/Debug/net6.0/Day3.deps.json | 23 - 2022/day3/bin/Debug/net6.0/Day3.dll | Bin 7168 -> 0 bytes 2022/day3/bin/Debug/net6.0/Day3.pdb | Bin 11568 -> 0 bytes .../bin/Debug/net6.0/Day3.runtimeconfig.json | 9 - 2022/day3/bin/Debug/net6.0/input.txt | 300 -- 2022/day3/bin/Debug/net6.0/ref/Day3.dll | Bin 6144 -> 0 bytes 2022/day3/obj/Day3.csproj.nuget.dgspec.json | 60 - 2022/day3/obj/Day3.csproj.nuget.g.props | 15 - 2022/day3/obj/Day3.csproj.nuget.g.targets | 2 - ...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 - .../obj/Debug/net6.0/Day3.AssemblyInfo.cs | 22 - .../net6.0/Day3.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 10 - .../obj/Debug/net6.0/Day3.GlobalUsings.g.cs | 8 - 2022/day3/obj/Debug/net6.0/Day3.assets.cache | Bin 139 -> 0 bytes .../Day3.csproj.AssemblyReference.cache | Bin 70487 -> 0 bytes .../Day3.csproj.CoreCompileInputs.cache | 1 - .../net6.0/Day3.csproj.FileListAbsolute.txt | 15 - 2022/day3/obj/Debug/net6.0/Day3.dll | Bin 7168 -> 0 bytes .../Debug/net6.0/Day3.genruntimeconfig.cache | 1 - 2022/day3/obj/Debug/net6.0/Day3.pdb | Bin 11568 -> 0 bytes 2022/day3/obj/Debug/net6.0/apphost | Bin 77208 -> 0 bytes 2022/day3/obj/Debug/net6.0/ref/Day3.dll | Bin 6144 -> 0 bytes 2022/day3/obj/project.assets.json | 65 - 2022/day3/obj/project.nuget.cache | 8 - 2022/day3/obj/project.packagespec.json | 1 - 2022/day3/obj/rider.project.restore.info | 1 - 2022/day4/day4.py | 18 - 2022/day4/input.txt | 1000 ------- 2022/day5/day5.py | 60 - 2022/day5/input.txt | 512 ---- 2022/day6/day6_part1.py | 3 - 2022/day6/day6_part2.py | 21 - 2022/day6/input.txt | 1 - 2022/day7/day7.py | 25 - 2022/day7/input.txt | 1087 ------- .../day8/__pycache__/load_map.cpython-311.pyc | Bin 1185 -> 0 bytes 2022/day8/day8_part1.py | 43 - 2022/day8/day8_part2.py | 47 - 2022/day8/input.txt | 99 - 2022/day8/load_map.py | 13 - 2022/day9/day9_part1.py | 99 - 2022/day9/input.txt | 2000 ------------- README.md | 11 - 60 files changed, 10570 deletions(-) delete mode 100644 2022/day1/day1.py delete mode 100644 2022/day1/input.txt delete mode 100644 2022/day2/day2_part1.py delete mode 100644 2022/day2/day2_part2.py delete mode 100644 2022/day2/input.txt delete mode 100644 2022/day3/.idea/.idea.Day3/.idea/.gitignore delete mode 100644 2022/day3/.idea/.idea.Day3/.idea/.name delete mode 100644 2022/day3/.idea/.idea.Day3/.idea/discord.xml delete mode 100644 2022/day3/.idea/.idea.Day3/.idea/indexLayout.xml delete mode 100644 2022/day3/.idea/.idea.Day3/.idea/vcs.xml delete mode 100644 2022/day3/Day3.csproj delete mode 100644 2022/day3/Day3.sln delete mode 100644 2022/day3/Part1.cs delete mode 100644 2022/day3/Part2.cs delete mode 100644 2022/day3/Program.cs delete mode 100755 2022/day3/bin/Debug/net6.0/Day3 delete mode 100644 2022/day3/bin/Debug/net6.0/Day3.deps.json delete mode 100644 2022/day3/bin/Debug/net6.0/Day3.dll delete mode 100644 2022/day3/bin/Debug/net6.0/Day3.pdb delete mode 100644 2022/day3/bin/Debug/net6.0/Day3.runtimeconfig.json delete mode 100644 2022/day3/bin/Debug/net6.0/input.txt delete mode 100644 2022/day3/bin/Debug/net6.0/ref/Day3.dll delete mode 100644 2022/day3/obj/Day3.csproj.nuget.dgspec.json delete mode 100644 2022/day3/obj/Day3.csproj.nuget.g.props delete mode 100644 2022/day3/obj/Day3.csproj.nuget.g.targets delete mode 100644 2022/day3/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.AssemblyInfo.cs delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.AssemblyInfoInputs.cache delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.GlobalUsings.g.cs delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.assets.cache delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.csproj.AssemblyReference.cache delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.csproj.CoreCompileInputs.cache delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.csproj.FileListAbsolute.txt delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.dll delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.genruntimeconfig.cache delete mode 100644 2022/day3/obj/Debug/net6.0/Day3.pdb delete mode 100755 2022/day3/obj/Debug/net6.0/apphost delete mode 100644 2022/day3/obj/Debug/net6.0/ref/Day3.dll delete mode 100644 2022/day3/obj/project.assets.json delete mode 100644 2022/day3/obj/project.nuget.cache delete mode 100644 2022/day3/obj/project.packagespec.json delete mode 100644 2022/day3/obj/rider.project.restore.info delete mode 100644 2022/day4/day4.py delete mode 100644 2022/day4/input.txt delete mode 100644 2022/day5/day5.py delete mode 100644 2022/day5/input.txt delete mode 100644 2022/day6/day6_part1.py delete mode 100644 2022/day6/day6_part2.py delete mode 100644 2022/day6/input.txt delete mode 100644 2022/day7/day7.py delete mode 100644 2022/day7/input.txt delete mode 100644 2022/day8/__pycache__/load_map.cpython-311.pyc delete mode 100644 2022/day8/day8_part1.py delete mode 100644 2022/day8/day8_part2.py delete mode 100644 2022/day8/input.txt delete mode 100644 2022/day8/load_map.py delete mode 100644 2022/day9/day9_part1.py delete mode 100644 2022/day9/input.txt delete mode 100644 README.md diff --git a/2022/day1/day1.py b/2022/day1/day1.py deleted file mode 100644 index dea38c6..0000000 --- a/2022/day1/day1.py +++ /dev/null @@ -1,25 +0,0 @@ -def main(): - with open('input.txt', 'r') as f: - # Part 1 - calories = [line for line in f.read().split('\n')] - caloriesPerDay = [0] * len(calories) - index = 0 - for calorie in calories: - if calorie == '': - index += 1 - else: - caloriesPerDay[index] += int(calorie) - nOfElfs = caloriesPerDay.index(0) - caloriesPerElf = caloriesPerDay[:nOfElfs] - print(f"Top elf calorie count: {max(caloriesPerElf)}") - - # Part 2 - sumOfCaloriesOfTopThree = [] - for i in range(3): - sumOfCaloriesOfTopThree.append(max(caloriesPerElf)) - caloriesPerElf.remove(max(caloriesPerElf)) - print(f"Sum of top three elfs: {sum(sumOfCaloriesOfTopThree)}") - - -if __name__ == '__main__': - main() diff --git a/2022/day1/input.txt b/2022/day1/input.txt deleted file mode 100644 index da4f98e..0000000 --- a/2022/day1/input.txt +++ /dev/null @@ -1,2250 +0,0 @@ -9609 -7601 -7142 -5278 -9374 -6815 -1050 -6329 -8016 - -12477 -28601 - -1056 -5037 -1660 -3786 -2611 -6689 -3159 -2973 -5286 -2401 -6231 -7460 - -3689 -3909 -9254 -5704 -10307 -10173 -9336 -4586 - -5476 -16022 -9109 -11504 -6746 - -1006 -1685 -2688 -4776 -6234 -5807 -4943 -4944 -4982 -1731 -3196 -5573 -5269 -1266 - -12097 -15573 -1113 -8920 -14145 - -4723 -2428 -3864 -4657 -5046 -5135 -5104 -1867 -5130 -1751 -6029 -4551 -1924 -4998 -4255 - -2706 -5595 -10508 -3676 -11580 -6061 -7902 - -2523 -11236 -1915 -15774 -7639 - -2996 -3656 -4491 -4493 -6136 -3112 -7342 -3600 -6111 -4229 -7548 - -4200 -8635 -1003 -1223 -3096 -10734 -8319 -3772 - -7063 -3538 -4856 -1250 -1917 -4852 -4792 -7407 -3413 -7326 -7378 -1778 - -1659 -3390 -2802 -3226 -3993 -9583 -6504 -3296 -5998 - -1800 -1144 -2569 -4426 -5871 -4988 -1309 -2330 -3236 -3217 -3778 -2636 -3116 -2300 -1428 - -69249 - -6905 -2506 -2429 -3904 -2960 -1420 -2687 -7150 -1368 -4253 -3584 -1302 - -9585 -34214 - -5442 -8217 -2320 -6864 -1354 -5791 -5492 -4979 -1760 -7753 - -18036 -11876 -1936 -4605 - -10819 -13733 -13726 -10233 - -5450 -4315 -3008 -3419 -5434 -1601 -6834 -2144 -3943 -3573 -6366 -6680 -1197 - -3681 -4233 -3461 -1646 -5161 -3542 -5489 -4635 -1776 -4811 -3026 -4858 -4207 -5716 -4751 - -3271 -5205 -7916 -7618 -8354 -4445 -4604 - -2489 -7439 -6911 -5378 -7363 -2207 -7303 -4757 -5989 -4902 -6889 -5074 - -4451 -34499 - -6519 -7439 -2225 -1237 -2167 -2041 -3403 -8289 -3545 -2936 - -25613 -23988 -15999 - -10278 -9240 -8736 -10445 -5005 -9339 -9059 -9198 - -14821 -8000 -15113 -10430 -11981 - -2745 -6427 -3564 -3822 -1674 -6615 -4817 -5026 -6243 -5295 -4027 -4861 -6554 - -24901 -7628 - -10299 -8153 -3359 -5982 -5207 -4491 -5267 -5364 - -7962 -12190 -1998 -10722 -2890 - -27425 -19199 - -5347 -3738 -2833 -12747 -6505 -3476 - -2360 -6688 -11640 -13899 - -5152 -4272 -7284 -3491 -4225 -3271 -7751 -6376 -2695 - -8227 -7171 -3366 -1663 -4466 -2444 -7239 -3673 -5321 -6363 - -6362 -4237 -7358 -1723 -7514 -5741 -2621 -4413 -5502 -5875 - -13451 -12610 -8672 -2841 - -1956 -3310 -3011 -2938 -5046 -4571 -3326 -2013 -5980 -5145 -3226 -5073 -3676 -2763 -4542 - -4200 -9203 -6238 -9501 -3972 -6776 -2730 -6126 - -13151 -2622 -2592 -10013 -10227 -4677 - -3151 -2107 -7564 -3219 -1353 -7924 -7287 -3273 -2117 -4211 - -6914 -1354 -3517 -1835 -1694 -4044 -2569 -4755 -6720 -1104 - -10704 -2576 -2773 -9002 -3321 -9443 -8346 -9054 - -4584 -2075 -3303 -2156 -1250 -4717 -1391 -2977 -3845 -1433 -3112 -5675 -6058 -1451 -5500 - -8712 -8235 -2732 -5337 -11076 -9434 -1593 - -27831 -3385 - -1497 -7378 -3442 -1957 -2620 -2208 -3808 -1793 -1306 -6721 -4098 -5050 - -3197 -1377 -2289 -7534 -8484 -5831 -3671 -2524 -6756 - -24827 -5119 - -1701 -5156 -3625 -2469 -5728 -5698 -4538 -1505 -1475 -3934 -3758 -5405 -1549 -5019 -1433 - -12606 -14593 -14761 -12375 - -9284 -16208 -6022 -5550 - -8956 -1473 -10077 -2220 -7314 -3561 -6013 - -1064 -1538 -3292 -3854 -3882 -6008 -5364 -4326 -1958 -4712 -3389 -4496 -5501 -2181 -1666 - -2424 -5342 -11963 -1108 -6698 -7440 -4334 - -7167 -3677 -4923 -9204 -4469 -5934 -6071 -8355 - -4457 -2779 -5014 -6156 -7431 -1879 -2349 -4038 -7353 -1453 -6980 -1890 - -1348 -8892 -13667 -2877 -9049 -8967 - -7904 -6871 -7301 -7952 -5953 -7562 -3289 -6654 - -13903 -9705 -11858 -7619 -12963 -5629 - -31307 -5533 - -1431 -5521 -3430 -4972 -4077 -1771 -2134 -2614 -1464 -1882 -1471 -2024 -4789 -4419 - -8927 -9768 -1070 -12640 -3597 -5034 - -4369 -5821 -4181 -2802 -6503 -2530 -1530 -1047 -3537 -2732 -5169 -4156 -4348 -1831 - -9491 -6837 -3855 -2320 -1689 -3393 -6974 -5192 -9255 - -2791 -3416 -2183 -2919 -3732 -3010 -5213 -7927 -4855 -4468 - -7089 -36535 - -9669 -2139 -10069 -7918 -9942 -1446 - -4381 -3053 -3216 -4395 -2710 -3329 -2837 -1395 -3310 -1598 -1620 -6310 -3405 -4005 - -3639 -1485 -5221 -5767 -2415 -5401 -4011 -3377 -2977 -6529 -1921 -5012 -4426 - -4202 -17425 - -1350 -1077 -4747 -1735 -4362 -6110 -5006 -8519 -7785 - -10393 -3532 -4113 -8856 -11626 -7552 -11220 - -8925 -8081 -2340 -2296 -9558 -6452 -3604 -8601 -1958 - -4519 -2675 -1343 -4853 -5372 -2362 -4274 -4636 -3144 -5231 -4867 -5533 -1505 -5978 -1649 - -4955 -6133 -6469 -5120 -4257 -3936 -3661 -4995 -6040 -2616 -5863 -6886 -1653 - -4106 -1467 -2641 -1772 -4588 -1750 -1333 -4312 -4852 -1508 -5620 -4535 -3888 -4007 -2194 - -27508 - -10203 -6474 -2054 -11285 -12800 - -10249 -7004 -6396 -1990 -5883 -9275 -4687 - -22359 -8260 -9536 - -2657 -6895 -4538 -4635 -1259 -1819 -2679 -3703 -6127 -4197 -4009 -4652 -2708 - -49278 - -16243 -33427 - -5219 -3052 -4510 -9946 -5429 -5163 -2653 - -4676 -5247 -6267 -2648 -1257 -2335 -3737 -1443 -2726 -2361 -2134 -1952 -1021 -1753 - -4671 -7281 -8217 -6170 -1182 -8778 -5289 -5035 - -6067 -3461 -7448 -2117 -8702 -2849 -9659 -1410 -9402 - -10607 -5652 -3127 -5594 -2423 -2591 - -2138 -4007 -6383 -5597 -3074 -5811 -2178 -6220 -2212 -4271 -5410 -6677 - -5313 -5507 -7753 -5492 -5041 -4967 -7644 -10538 - -2062 -7568 -1439 -1621 -8216 -4952 -4358 -3391 -4776 - -4015 -4854 -2935 -5177 -2131 -5192 -3300 -3337 -5223 -6469 -6101 -3917 -3492 -3986 - -8942 -9447 -6152 -2764 -6196 -3116 -6478 -9334 -9346 - -10560 -5894 -12105 -4239 -4573 - -1752 -6751 -3684 -2236 -6195 -11108 -5450 - -32451 -29152 - -13915 -7001 -11778 -2626 -3026 -12725 - -6410 -4265 -10923 -9587 -7411 - -4943 -5272 -2453 -7324 -3815 -6049 -2936 -5905 -3187 -3675 -3860 -7143 - -58413 - -6544 -11733 -11746 -3288 -5411 -5555 -3796 - -4852 -6567 -1494 -4644 -6183 -2444 -5145 -1015 -5088 -7905 -6491 - -3550 -5679 -4312 -2128 -2262 -3597 -2249 -2472 -4758 -3927 -5369 -2278 - -1399 -3791 -4817 -13948 -10037 -6154 - -7877 -16900 -10571 -18965 - -4836 -5457 -6380 -4241 -4969 -3635 -4160 -5451 -6164 -5334 - -4961 -2514 -1620 -2494 -6373 -4040 -7544 -2595 -2330 -6927 -7906 - -8023 -6672 -3565 -9038 -7154 -5236 - -4297 -3122 -4779 -3937 -3165 -5012 -1298 -5405 -6175 -3862 -3469 -3533 -5411 -6349 - -36291 -32851 - -7992 -4095 -4841 -6728 -2275 -1549 -8143 -8494 -7144 -5800 - -3064 -1314 -4224 -5969 -2913 -2622 -4833 -3113 -3663 -5351 -5102 -2930 -6048 -5658 -4773 - -1771 -9851 -9844 -4001 -1343 -6124 -3826 -7647 - -8488 -7700 -19028 -2822 - -4541 -6311 -6499 -1043 -5888 -2631 -3824 -3137 -6957 -1372 -1755 -5852 -4944 - -7010 -7705 -7380 -5693 -6466 -2388 -4584 -1309 -5295 -4232 - -8997 -11222 -12715 -13341 - -3389 -5375 -6730 -1723 -4179 -6599 -8482 -9599 -8903 - -1774 -6964 -3739 -6345 -4881 -5381 -2415 -7900 -8778 - -10638 -20181 -4651 - -11271 -3243 -11634 -2919 -8121 -9706 -7354 - -2675 -2809 -5554 -4439 -1626 -4173 -4273 -2551 -2302 -4167 -1929 - -2641 -1264 -2074 -8265 -1089 -5010 -2591 -5610 -4610 - -8082 -11994 -3820 -2770 -9252 -3948 -7731 - -9429 -7117 -13052 -8925 -1844 -11783 - -1288 -5874 -3708 -4770 -6241 -1823 -2081 -4040 -1675 -3309 - -6185 -5449 -1262 -4549 -5293 -4790 -1854 -4853 -1727 -5514 -5256 -4148 -5514 - -6609 -15270 -13973 -10316 - -8083 -8381 -4788 -1606 -5118 -1520 -8152 -2433 -2999 -1784 - -1178 -5284 -8781 -5156 -6160 -1957 -3163 -5129 - -6123 -8854 -2776 -8899 -1728 -1459 -6248 -1676 -6804 - -11240 -11672 -1993 -12007 - -11441 -8463 -3348 -3292 -6021 - -3765 -7412 -2551 -3571 -2806 -3018 -7255 -4727 -1812 -5666 - -1111 -7513 -4547 -8423 -6838 -8520 -5818 -7891 -7659 -1029 - -21630 -17117 - -4790 -2925 -1959 -7089 -5283 -6020 -2522 -2052 -1519 -1591 - -6012 -10136 -10443 -7841 -6019 -1279 -3540 -9068 - -3937 -12491 -9763 -7498 -1701 - -11876 -9043 -4713 -2987 -8774 -11370 - -4885 -5614 -2665 -7454 -1350 -1832 -8687 -9477 - -10654 -8624 -6594 -13129 -10246 - -25357 -10959 -23864 - -2554 -4768 -6464 -2757 -1927 -1861 -2175 -2322 -4198 -4037 -4752 -2082 -6003 -5328 - -1820 -4090 -7653 -2160 -3455 -2144 -12128 - -29265 -30377 - -2359 -3949 -6123 -2235 -4210 -5808 -2377 -6678 -2039 -1324 -2104 -5407 - -1955 -4478 -3696 -6486 -2206 -3083 -2843 -5454 -4294 -3972 -2556 -5795 -3319 -2315 - -6188 -1383 -3880 -3153 -5842 -3400 -5504 -1353 -1257 -3639 - -5550 -5255 -4095 -3951 -3104 -2344 -4580 -3980 -1482 -2521 -2764 -1607 -5699 -2350 -1175 - -3326 -5681 -5905 -7268 -6083 -1407 -1434 -3186 -5744 -6268 -5533 -2245 - -2994 -1141 -10449 -6013 -5210 -8014 -3136 -8434 - -28983 -19936 - -4560 -8754 -6220 -12071 -5989 -2858 -6333 - -1928 -22562 - -3804 -7720 -6499 -7651 -1860 -1193 -8243 -2693 -2515 -4517 - -2762 -1303 -5390 -4371 -2424 -5039 -5875 -1354 -4039 -1883 -1398 -5544 -3698 - -1312 -5037 -2534 -3404 -3494 -5859 -7520 -3173 -4187 -5593 -4094 - -1938 -4558 -3961 -8752 -6733 -8402 -2351 -7059 - -4650 -5453 -5251 -2503 -7601 -6322 -7193 -3568 -6734 -1254 -7263 - -15442 -18712 - -2671 -34633 - -8092 -6200 -3593 -12427 -11897 -5342 - -12145 -20778 -25515 - -4318 -7326 -6324 -3726 -6176 -2530 -4017 -5504 -2930 -4978 -1941 -3893 - -7431 -2579 -2463 -5818 -2616 -7477 -8840 -2943 - -28974 -26077 - -4317 -2950 -2298 -4360 -2323 -5028 -6040 -1223 -2836 -5338 -6002 -4551 -4505 -1046 -5007 - -5979 -1142 -5901 -4646 -5486 -5184 -6255 -1473 -6420 -5358 -2502 -4997 -6331 -5529 - -3641 -1705 -3924 -3952 -3856 -4687 -4962 -3754 -2049 -5361 -5286 -4157 -5753 -2937 -1996 - -9825 -2077 -12304 -8296 - -5576 -4979 -5746 -3423 -1339 -5466 -2956 -3201 -4612 -5538 -4957 -3095 -3211 - -6162 -6797 -12282 -3848 -14760 - -8520 -6433 -5529 -5617 -4572 -2395 -3228 -6012 - -36432 -12115 - -3396 -3826 -2514 -5297 -5768 -4673 -6134 -2153 -4533 -5530 -2289 -3910 -3429 -6315 - -9288 -7564 -2801 -7672 -3580 -6425 -5047 -9141 - -6455 -4624 -7937 -6151 -9671 -2857 - -5789 -7291 -3051 -4587 -4527 -5970 -5863 - -7496 -2170 -3522 -1108 -4284 -1214 -5981 -4240 -4880 -2816 -3638 - -1458 -4890 -4046 -5337 -6192 -3705 -1362 -3330 -3593 -1036 -3842 -6485 -2170 -1176 - -4669 -7457 -3290 -1471 -1471 -4983 -8120 -3964 -2012 - -12196 -12907 -1360 -2359 -4034 -12061 - -2023 -2376 -4602 -2529 -2091 -7266 -3696 -4104 -7007 -4183 -2551 -4913 - -12264 -2297 -16633 -19219 - -5963 -5584 -1534 -6499 -5988 -1160 -5186 -4313 -4579 -2978 -6075 -5821 -3288 - -2456 -1103 -2492 -1484 -3089 -2519 -2596 -3462 -4707 -2403 -5042 -2345 -1841 -3924 -3674 - -15955 -14482 -19975 -7828 - -7686 -33030 - -9367 -6387 -4450 -1301 -6652 - -2436 -8020 -9634 -1189 - -13768 -4937 -6445 -2333 -8688 -2282 - -2632 -2386 -1540 -1313 -5560 -3191 -3768 -6455 -1771 -5707 -6503 -3702 -2690 -6410 - -4254 -9381 -10720 -6622 -4502 -3229 - -10702 -25975 -21218 - -1824 -3787 -1017 -3211 -1954 -3263 -1654 -5116 -5383 -6081 -5917 -3708 -3770 -3332 -1564 - -8659 - -1918 -13752 -13443 -2032 -8928 - -8167 -4650 -4066 -8487 -5484 -2973 -1974 -8716 -3918 -6829 - -8569 -4604 -3930 -4567 -15587 - -8510 -8686 -2757 -10057 -2681 -7895 -6610 -10350 - -27009 - -3554 -8125 -6661 -1517 -1293 -6747 -3910 -4998 -3100 - -58602 - -2960 -5646 -4133 -3192 -5660 -3224 -4699 -6106 -4147 -4855 -1950 -1195 -5861 -3613 -5095 - -2481 -11509 - -9922 -2887 -1722 -10604 -6329 -6330 -3934 -5424 - -7492 -6265 -3838 -8041 -6266 -4794 -2524 -6684 -2734 -7338 - -6263 -8780 -6447 -20087 - -6388 -9789 -4219 -6199 -1753 -7765 -2130 -5475 - -6043 -4380 -7928 -3807 -5877 -1736 -6191 -4348 -5699 -2381 - -2683 -4364 -6323 -2128 -3828 -1657 -3885 -3426 -6137 -4427 -2592 -6245 -6142 -5680 - -4812 -8631 -7556 -6549 -4494 -7671 -2664 -3702 -3551 -1289 - -8546 - -5793 -8055 -4733 -3781 -4359 -1127 -5052 -7333 -1533 -3232 -6713 - -9850 - -6386 -8256 -12527 -10704 -11625 -6314 - -36312 -9909 - -2500 -5131 -12716 -2449 -10252 -2989 - -10080 -7372 -4650 -4148 -1543 -7025 -4075 -5975 - -6493 -1969 -3498 -5752 -5231 -5688 -3805 -2245 -3355 -7015 -2001 -1980 - -5498 -10487 -6072 -5136 -4464 -1645 - -5765 -1637 -4963 -3317 -2151 -4765 -4234 -4268 -3791 -1371 -5906 -5800 -4684 -5872 -1032 - -7693 -5165 -3321 -7593 -6652 -4856 -7244 -3238 -5442 -6728 - -8940 -2746 -4620 -4575 -1794 -8580 -6018 -1198 -2470 - -10302 -5070 -4341 -2533 -4345 -11497 - -11333 -1604 -6233 -6784 -5614 -10283 -5386 - -2715 -3782 -4739 -5782 -3541 -3544 -3591 -4748 -7392 -3361 -5764 -6413 - -9117 -1201 -6914 -1214 -3645 -3711 -1825 -10249 - -4719 -8388 -1460 -4555 -1038 -8967 -2147 -2943 - -3372 -3381 -3607 -5180 -2115 -1071 -2218 -5102 -3133 -5809 -3920 -2758 -1729 -2132 - -1332 -6802 -5791 -3281 -6624 -1692 -5105 -5160 -3082 -6840 -1613 -4749 - -5211 -2825 -6050 -2913 -2542 -2466 -2411 -2101 -5822 -1972 -3409 -2738 -5032 -5715 - -8421 -5749 -1746 -1424 -4398 -5048 -1450 -2122 -7937 -4488 - -17962 - -1415 -5018 -11466 -17007 - -8818 -9115 -4789 -1919 -8398 -3807 - -13697 -10141 -5675 -2146 -1954 -6312 - -8363 -2872 -1505 -7354 -1868 -3313 -6657 -3468 -7434 - -2157 -2904 -3745 -6707 -4194 -2956 -5377 -3130 -7664 -7595 -7477 - -22149 - -5662 -4865 -5971 -6008 -6761 -5764 -4321 -1546 -1705 -6056 -3990 -3953 - -7794 -1246 -5418 -2460 -7858 -6992 -5897 -3459 -2915 -2227 -1517 - -7873 -3664 -6050 -9000 -8922 -8817 -4514 - -20975 - -4983 -11133 -4400 -6751 -2763 -2781 -11806 diff --git a/2022/day2/day2_part1.py b/2022/day2/day2_part1.py deleted file mode 100644 index 60ebfd4..0000000 --- a/2022/day2/day2_part1.py +++ /dev/null @@ -1,27 +0,0 @@ -with open('input.txt', 'r') as f: - # Part 1 - matches = [rpsMatch.split(' ') for rpsMatch in f.read().split('\n')] - score = 0 - for rpsMatch in matches: - if rpsMatch[0] == 'A': - if rpsMatch[1] == 'X': - score += 1 + 3 - elif rpsMatch[1] == 'Y': - score += 2 + 6 - elif rpsMatch[1] == 'Z': - score += 3 - elif rpsMatch[0] == 'B': - if rpsMatch[1] == 'X': - score += 1 - elif rpsMatch[1] == 'Y': - score += 2 + 3 - elif rpsMatch[1] == 'Z': - score += 3 + 6 - elif rpsMatch[0] == 'C': - if rpsMatch[1] == 'X': - score += 1 + 6 - elif rpsMatch[1] == 'Y': - score += 2 - elif rpsMatch[1] == 'Z': - score += 3 + 3 - print(f"Total score: {score}") diff --git a/2022/day2/day2_part2.py b/2022/day2/day2_part2.py deleted file mode 100644 index 6cf3eec..0000000 --- a/2022/day2/day2_part2.py +++ /dev/null @@ -1,27 +0,0 @@ -with open('input.txt', 'r') as f: - # Part 2 - matches = [rpsMatch.split(' ') for rpsMatch in f.read().split('\n')] - score = 0 - for rpsMatch in matches: - if rpsMatch[0] == 'A': - if rpsMatch[1] == 'X': - score += 3 - elif rpsMatch[1] == 'Y': - score += 1 + 3 - elif rpsMatch[1] == 'Z': - score += 2 + 6 - elif rpsMatch[0] == 'B': - if rpsMatch[1] == 'X': - score += 1 - elif rpsMatch[1] == 'Y': - score += 2 + 3 - elif rpsMatch[1] == 'Z': - score += 3 + 6 - elif rpsMatch[0] == 'C': - if rpsMatch[1] == 'X': - score += 2 - elif rpsMatch[1] == 'Y': - score += 3 + 3 - elif rpsMatch[1] == 'Z': - score += 1 + 6 - print(f"Total score: {score}") diff --git a/2022/day2/input.txt b/2022/day2/input.txt deleted file mode 100644 index f08e848..0000000 --- a/2022/day2/input.txt +++ /dev/null @@ -1,2501 +0,0 @@ -B Y -A Z -C Z -A Y -A Y -B Y -C Y -A Y -B Y -B Y -A Y -B Z -B Y -A Y -C Y -B X -B Y -B Y -B Y -C Y -B Y -A Y -B Y -A Y -B Y -C Y -A Y -B X -B Y -B Y -B X -B Y -C Y -B Y -C Z -A X -B Y -B Y -A Z -B X -C Y -C Z -B Y -B Y -A Y -B X -B Y -B Y -B X -B Y -C Y -A Y -B Y -C Y -C X -B X -B X -A Z -C Y -B Y -C Z -B X -B Y -B Y -B X -B Y -B Z -B Y -B Y -B X -B Y -B X -C X -B Y -B X -A Y -B Y -B X -B Y -A Y -B X -B X -B Y -A Y -B Y -B Y -B Y -C Z -B X -B Y -B X -B X -B Y -B X -C Z -B Y -B Y -B Y -B Y -B Y -B X -A Y -B Y -C Y -C Z -A Y -B Y -A Y -C Z -B Y -B X -B Y -C X -A Y -B X -B Y -B X -B X -B X -A Y -C Z -B Y -A Y -B X -A Y -B Y -A Y -B X -B Y -B Y -B Y -B X -B X -C Z -B Z -B Y -B X -C Y -C Y -C Z -C X -C Y -B Y -B X -A Y -A Y -B X -C Z -B X -C X -B X -B Y -B Y -A Z -B Z -C Y -C Y -B Y -B Y -C Y -C Y -C Z -B Y -B X -B Y -B Y -C Y -B Y -B Y -B Y -B Y -B Y -C Y -A Z -B X -B Y -C Z -B Y -C Y -B Y -B X -C Y -B Y -B X -C Y -B Y -B Y -B Y -A Y -B X -B X -B Y -B Y -B X -C Z -B Y -A Y -A Y -B X -C X -A Y -B X -B X -B Y -B Y -A Y -C Y -C Z -C Y -B Y -B Y -A Y -A Y -A Y -B Y -B Y -A X -B Y -B Y -B X -B X -C Z -B X -B X -A Y -A Y -A Y -B Y -B Y -C Y -B X -A Y -B Y -C Z -B X -A Y -C Z -A Y -B X -C Y -B Y -B Y -C Y -B X -B X -B Y -B Y -B Y -B Y -A Y -B X -B X -B Y -A Y -B Z -A Y -B Y -C Y -B Y -B Y -B X -C Z -B Y -B Y -B X -B X -C Z -B Y -A Y -B Y -B X -C Y -A Z -C Z -B Y -B Y -B X -C Y -C X -B X -C Y -C Z -B X -B Y -B Y -C Z -B X -C X -A Z -A Y -B X -C X -B Y -A Z -A Z -A Y -B X -A Y -B Y -B Y -C Z -B X -A Z -B Y -B X -A Y -B Y -C Y -B Y -B X -B X -A Z -B Y -B Y -C Z -B X -B X -B Y -C Z -B X -B X -C Z -B X -A Y -B X -C Z -A Y -C X -B Y -B X -B Y -B Y -C Y -B X -A Z -A Y -B X -A Z -B X -B Y -B Y -A Z -C X -B Y -B Y -B Y -A Z -B Y -B X -C Y -C Z -B X -B Y -B Y -B Y -C Y -A Z -B Y -C Z -C X -B Y -C Y -B Y -B X -B Y -B Y -A Y -B Y -B Y -C Z -A Z -B X -C Y -B Y -B Y -B Y -A Y -A Y -B Y -A Y -B Y -A Y -B X -C Y -B Y -C X -A X -B X -A Y -C Y -B Y -A X -B X -A Z -B X -B Y -B Y -B X -B Y -B Y -B X -A Y -A Z -C Z -B Y -B Y -B X -C Z -C Z -B Y -A Y -B X -C Z -A Y -B X -B Z -B Y -B Y -B Y -B X -B Y -B X -B X -B Y -C Y -B Y -B Y -B Y -B Y -B Y -C Z -B X -B Y -B Y -B Y -B X -B X -C Y -B X -B X -C Z -B Y -B Y -B Y -B Y -B Y -C Y -B Y -B Y -B Y -B X -B Y -B X -B Y -B Y -C X -B Y -C X -B X -C Z -C X -B Y -A Y -A Z -A Y -C Y -B X -B Y -B Y -C Z -A Z -B Y -B Y -B Y -B Y -B Y -B Y -B Y -C Y -B Y -C Y -C X -B X -B X -C Z -A X -B X -B Y -A Y -B X -B Y -A Z -B Y -C Y -B X -B Y -B Y -C Y -C Y -B Y -B X -B X -B Y -B Y -B Y -B Y -C Z -B X -B Y -B Y -B X -B Y -B X -B X -B Y -B X -B Y -B Y -C Y -B X -B Y -B Y -B Y -A Y -B Y -A Z -B Y -C Y -C Y -B Y -B X -A X -B Y -A Y -B X -B Y -B Y -B X -C Y -C Z -B X -B Y -A Y -C Y -A Z -C Y -B Y -B Y -B Y -B X -C Y -B Y -B Y -A Y -A X -B Y -B X -B Y -B Y -A Y -B X -C X -B Y -A Y -C Y -B Y -B Y -A Y -C Y -A Y -C Y -B Y -B X -C Y -C Y -B Y -B Y -A Y -B Y -B Y -B Y -C Z -B X -B Y -B X -B X -A X -A Y -B Y -B X -A Z -B X -A Y -B Y -C Y -C Y -C Y -B Y -A Y -A Y -B Y -B Y -B Z -B Y -B X -A Y -B X -A Z -B Y -B Y -B X -B Y -C Y -A Z -B Y -C X -C Y -B Y -B Y -C X -B Y -A Y -A Y -C Z -B X -B X -B X -B X -B Y -C Z -B X -C Y -A Y -B Y -A Y -B Y -A Y -B Y -B Y -C Y -B Y -B Y -B X -B Y -B X -B Y -B X -B Y -A Z -C X -B X -C X -B X -A Y -C Y -B X -C Y -B X -B X -C Z -C Y -B X -B X -B X -B Y -C Y -B X -B X -A Z -B Y -B Y -C Y -B X -C Z -C Y -A Y -B X -C Y -C X -B Y -B Y -A X -B Y -B X -B Y -B X -C Y -B X -A Y -B Y -B X -B Y -B Y -B Y -C Y -C Y -C Y -C Y -B X -B Y -A Z -B X -B X -B Y -B Y -C Z -B Y -B X -B Y -B X -C Y -B Y -C Z -A X -B X -B Y -C Y -C X -B X -B X -B Y -B Y -B Y -B X -B Y -B Y -B X -C Z -B Y -B Y -B X -B X -B Y -B X -C Z -A Z -C X -C X -B Y -B X -A Y -B Y -B X -C Z -A X -B X -B Y -B X -B X -B Y -B Y -A Z -B X -A Y -A Y -B Y -B X -B Y -C Y -A Y -A Y -B X -B Z -C Y -C Y -B Y -C X -B X -C Z -C Z -B Y -C X -A Y -B Y -B X -A Y -B Y -C X -B Y -B X -B Y -C Z -A X -A Z -B Y -B Y -B X -B X -A Y -B Y -B X -B Y -C Y -B Y -B X -C Z -C X -C Y -A Y -B Y -A Y -B Y -B Y -B X -B X -A Y -A Y -B Y -B Y -B Y -A Y -B Y -B Y -B Y -C Z -A Z -C Y -B Y -B X -C Y -A Z -B X -B Y -A Z -C Y -B Y -B X -B Y -B Y -A Y -B X -B Z -B X -B X -B X -B X -B Y -B Y -B X -B Y -C Y -C X -C Z -B Y -B Y -C Y -A Y -B X -B X -B Y -B X -B Y -B Y -A Y -B Y -B Y -B Y -B Y -A Y -B X -C Z -B Y -B Y -B Y -B X -B Y -C Y -B X -B X -A Y -A X -A Y -C X -C Y -B Y -B Y -C Y -B X -B Y -B Y -C Y -B X -C X -B X -C Y -B Y -B X -B X -B Y -C X -B X -B Y -B X -B X -B Y -B X -B Y -B Y -B Y -C Y -B Y -B Y -C Z -B Y -B X -C Y -B Y -B Y -B X -B Y -A Y -B Y -A Y -B Y -B Y -A Z -B X -B Y -B Y -C Z -B X -B X -B Y -B Y -B Y -B X -C Y -C Y -B X -B Z -A X -B Z -C Y -B X -B X -A X -B Y -B X -C Z -C Y -B X -B Y -B Y -B Y -C Z -B Y -C Y -C Y -A Y -B X -B Y -B Y -B Y -A X -B Y -B Y -B X -B X -A Y -B X -B Y -A Z -B Y -C Z -B X -B Y -B Y -A Y -A Y -B Y -B Y -B Y -B Y -C Y -C Z -B X -B X -B Y -B Y -B X -B X -A X -A Y -B Y -B Y -B X -B Y -A Y -B Z -B X -C Z -B Y -B X -B X -B Y -B Y -B Y -C Y -C X -B X -C Z -B Z -B X -B X -C Z -C Y -B X -A Z -C Y -A Y -B X -B Y -C Z -B Y -B Y -B X -B Y -C Z -B Y -A Y -B X -B X -B X -C Y -B X -B Y -B X -B Y -B Y -A X -C Y -A Y -C Y -B X -B Y -B X -B X -B Y -B Y -B Y -B Y -B Y -B Z -B Y -A X -C Z -B X -A Y -C Z -B Y -C X -A Y -C Y -C X -B Y -B X -B X -C Z -C Y -A Z -C Y -A Y -B Z -A Y -B X -C X -A Z -C X -B Y -C X -B Y -A Y -A X -B X -B Y -B X -B X -B X -A Y -B Y -B X -B Y -A X -B Y -C X -B Y -B X -B Y -A Y -B X -B Y -B X -B Y -B X -B Y -B Y -A Z -A X -B Y -C Z -B Y -B Y -B Y -B Y -C Y -B Y -A Y -A Y -C Z -C Y -B Y -A Y -B Y -B X -A Y -C Y -B Y -B Y -A Y -B Y -A X -C X -B Y -B Y -C X -B Y -B X -A X -B Y -B Y -B Y -B X -B X -A Z -B Y -A X -B X -A Z -B X -C Z -B Y -B Y -B Y -B X -B Y -B Y -C Y -B Y -B X -A Y -C Z -B Y -B X -A Y -C Y -B X -B Y -B Y -C Z -A Y -B X -B Y -B X -B X -C X -B Z -C Y -B Y -B Y -B X -B Y -C Y -C Y -C Y -B Y -A Y -C Z -B Y -C X -C Y -B Y -B Y -A Z -B X -A Y -A Y -A Z -B X -A Y -C Z -B Y -B Y -A X -B X -B Y -C Z -B Y -B Y -B X -B Y -B X -B X -A X -C Y -C Y -C Y -B Y -B Y -C Z -B Y -B X -C X -B Y -C Z -B X -B Y -B Y -B Y -B X -B Y -B X -B X -B Y -B Y -B Y -B Y -B X -B Y -B Y -C Z -B X -B Y -C Y -B X -B Z -B Y -C Z -C Y -B Y -A Z -A Y -B X -B Y -C Y -A X -A Y -B X -B Y -C Z -B Y -C X -A Y -C Y -B Y -B X -B Y -B Y -B Y -B X -B Y -C X -A Z -B X -C Y -A Y -B X -B Y -B X -B Y -C X -A Y -A Y -C Z -B Y -C Y -B Y -B Y -B Y -B Y -B Y -C Y -A Y -B Y -B X -C Y -B Y -B Y -A Z -B Y -B Y -B X -B Y -B Y -B X -A Y -A Z -B X -B X -C Y -B Y -B X -C Y -B Y -A X -B X -B Y -A Z -B Y -B Y -B Y -B Y -B X -A X -B X -C Y -B Y -B Y -B X -C Y -B Y -B X -B Y -B X -A X -B Y -A Y -B X -C X -B Y -C Z -B Y -B Y -C Y -B Y -C X -B Y -B X -A Z -B Y -B X -B Y -A Y -B Y -B X -B X -B X -B Y -B Y -B Y -A Y -C X -B X -B X -C Z -B Y -A Y -A Z -A Y -B Y -B Y -B X -C X -C Y -C Z -B Y -B Y -B Y -B Y -B Y -B X -C Y -B Y -B Y -B X -B X -B Y -B Y -A Y -A Y -A Y -B X -B X -C Y -B Y -A Z -B X -C Y -B Y -B X -B Y -B Y -A Y -A Y -B Y -B Y -B X -B X -A Y -A X -A Z -C X -A Z -B X -B Y -C Y -A X -B X -C Z -B Y -C Y -A Y -C X -B Y -C X -A Y -B Y -B X -B Y -A X -B X -B X -B Y -B Y -B Y -B X -B Y -B X -B Y -A X -B Y -B X -B Y -B Y -B Y -B X -B X -A Y -B Y -A Z -B Y -B X -C Z -B X -B Y -B Y -B Y -B X -C Y -B Y -B Y -A Y -B X -B X -B Y -B Y -A Y -B Y -B X -B Y -B X -B Y -C X -C Y -B X -B X -B X -C Z -B Y -B Y -B X -B X -B Y -A Y -B Y -C X -A Y -B Y -B Y -C X -B X -A Y -C X -B Y -B X -C Z -B X -B Y -A Y -B Y -B X -C Y -A Y -B Y -A X -B Y -C Y -C X -B Y -B X -A Z -B Y -B Y -B X -B Y -B Y -B X -B Y -C Y -B X -B Y -B X -B X -C Y -B X -B X -A Y -B X -B Y -B Y -B Y -B Y -B Y -B Y -B Y -C X -B X -B X -A Y -B Y -A Y -B X -B Y -A Y -B Y -A Z -B X -A Y -C Z -A Y -A Z -B X -B Y -A Y -B X -B X -B Y -B Y -A Z -A Y -B X -C Y -B Y -B Z -C X -C X -B X -A Y -B X -B Y -B Y -A X -B Y -A X -B Y -A Y -B X -B X -A Z -A Y -A Y -C Z -B Y -B Y -C Z -B Y -B X -C Y -B Y -B X -A Y -B Y -B X -C X -C X -B Y -A Y -B Y -B Y -B Y -B X -A Y -B Y -B Y -A Y -B Y -B X -B X -C Y -C X -B Y -C X -B Y -C Y -B X -B Y -B X -B Y -B Y -B X -B Y -B Y -C Y -B X -B Y -B X -B Y -A Y -B X -A Y -B X -B Y -B X -C X -C Y -B Y -B X -B Y -B Y -B X -B Y -B Y -A Y -B Y -B X -B Y -B X -C Y -A Y -B Y -B X -B Z -B Y -B X -C Y -B Y -C Y -C Y -B X -C Z -B X -C Y -B Y -A Y -B Y -A X -B Y -B Y -B Y -B Y -A Z -B Y -B Y -A Y -C Y -B Y -B X -B Y -B X -B Y -B Z -B X -B X -B Y -B Y -B Y -B X -B Y -B X -B Y -B Y -A Y -C Z -B Y -B Y -B X -B X -B X -B Y -A Y -A Y -B X -B Y -B X -A X -B Y -B Y -C Y -A Y -C Z -A Z -A Y -B Y -B Y -B Y -B Y -B Y -C X -B Y -A Y -C X -C Y -B X -A Z -C Z -A Z -C Y -B X -B Y -B Y -B X -B Y -A Z -C Z -C X -B X -B Z -A Y -C Y -C Y -C Y -A Y -C X -B X -C Y -C Y -B Y -B Y -A Y -B Y -A Y -A Y -B X -B X -C Y -B Y -C Y -B Y -B Z -B Y -A Y -B X -B Y -A X -B X -B Y -B Y -C Y -B Y -C Z -B Z -A Y -A Y -A Y -B Y -B X -B Y -A Y -C X -B X -B Y -B X -C X -B Y -B X -B Y -B Y -B X -A Y -A Y -B Y -B Y -B Y -A Z -B Y -B Y -B Y -B Y -B Y -B X -B Y -B Y -B Y -B Y -B Y -B X -B X -B X -A X -C Y -C X -C Z -C Y -B X -B Y -A Z -B Y -C Y -B Y -B X -B Y -A Y -B X -B X -B X -C Y -B Y -B Y -B Y -B X -B Y -B Y -B Y -B Y -B Y -B Y -C X -B Y -A X -B X -C Z -B X -B Y -B X -B Y -C Y -B Y -B Y -B X -A Z -B Y -A X -B Y -C Z -C Y -B Y -B Y -B Y -C X -B Y -B Y -B X -A Y -C Z -B Y -B X -B Y -B Y -B Y -B X -B Y -B Y -B Y -C X -B X -B X -C Z -B Y -B Y -B X -A Z -B Y -B Y -C Y -C Y -A Y -C Y -A Y -B Y -B X -B Y -B X -C Y -B Y -B Y -B Y -B Y -B Y -C X -B X -B X -B Y -C X -C Z -B X -A Y -C Z -B X -B X -C Y -C Y -A Y -B Y -B X -B Y -B Y -A Z -A Z -B Y -B Y -B Y -B Y -B Y -B Y -B Y -B X -B Y -C Y -B Y -B X -A X -B Y -A Y -A Y -B Y -B Y -B X -B Y -B Y -C Y -A Y -B X -B X -B X -B Y -B Y -B Y -B Y -B X -B X -A Y -B X -B X -B X -B X -B Y -B X -A X -C Y -B Y -B Y -A Y -B Y -B X -C X -C Y -A Y -B Y -A Z -C Y -B Y -B Y -B Y -B X -B X -B Y -C X -B X -B Y -C X -B X -A Y -B Y -B X -B Y -B Y -B X -B Y -B Y -C Y -B X -B X -B X -A Y -B Y -B X -C Y -C Y -B X -A Y -B Y -C Y -B X -B Y -B X -B X -B Y -C Y -A Y -C Y -B X -C X -B Y -B X -A Y -C Y -B Y -B Y -B Y -C Z -C Y -A Z -A Y -B Y -B Y -B Y -B Y -A Y -B X -B Y -B Y -C Y -C X -B Y -B Y -B Y -B Y -B X -B X -B X -C Z -B Y -B Y -C Y -B X -B Y -B Y -A Z -B Y -C Z -B X -A Y -B X -B Y -A Y -A Z -A Z -B Z -B Y -B Y -A Y -C Z -B Y -C Z -B X -B Y -B Y -B Y -B Y -C Y -B X -B X -B X -B X -B X -B Y -A Z -A Y -B Y -B Y -B Y -C X -B Y -A Y -B Y -B Y -B X -B Y -C Y -A Z -A Y -C Y -C Z -B X -A Z -B X -B X -B Z -B Y -C Y -A Y -B Y -B Y -B X -C Z -B Y -B Y -A Z -A X -B Y -B X -B Y -B X -B X -B X -B X -A Y -B Y -A X -B X -B X -B Y -B X -B Y -B Y -A Y -B Y -C Y -A Z -A Y -B X -B Y -A Y -C X -B Y -C Y -B X -B Y -A Y -B Y -A Z -B Y -B Y -A Y -B X -C Y -B Y -B Y -C Z -B X -B Z -B Y -A Y -B Y -C X -B Y -B Y -B Y -B Y -B Y -C Z -C Z -B Y -C Y -C Z -A X -B Y -A Y -B X -B X -B Z -B X -A Y -B Y -B Y -B Y -A Z -C Y -B Y -B Y -C Y -C Z -C X -B Y -A X -B Y -A Y -C X -B Y -B Y -B Y -B Z -B X -B X -C Y -B X -B X -C Z -B Y -B X -B X -B Y -B Y -B X -C X -B Y -B Y -B X -A Y -B Y -C Y -B Y -A X -B Y -A Y -A Y -B Y -B X -B X -C X -B Y -B X -A Y -C X -A Y -B X -B Y -B Y -C Z -B X -B Y -B X -B Y -B Y -A Z -B Z -B Y -B Y -C Y -C X -C Y -C Y -B Y -B Y -B Y -C Y -A Z -A Z -B Y -B X -A Y -B X -B Y -A Y -B X -B Y -B X -C X -B Y -B Y -B X -B X -A Z -A Y -B Y -A Y -B Y -B X -B X -A Y -B X -B Y -B Y -B X -C X -C X -B Y -B Y -A Y -B X -B Y -B Y -B Y -B Y -C Y -B Y -C Z -B Y -B Y -C X -B X -B Y -B Y -B X -B X -B Y -B Y -B Y -B X -A Z -B Y -B X -C Z -B X -B Y -A Z -C Z -A Z -B X -B Y -B Y -B Y -B X -B Y -C Y -C X -C Y -A X -B Y -B Z -B Y -B Y -B Y -A Y -B X -B Y -C Y -B Y -B X -B X -B Y -B Y -B Y -C Z -B Y -B X -B Z -B X -B Y -B Y -B X -B X -A Y -B X -B X -B X -A Y -B X -B X -B Y -B X -A X -B Y -B Y -C Y -B X -B Y -B X -B X -C Y -B Y -B Y -B X -A X -C Y -C X -A Y -B X -B Y -B Y -B Y -B Y -B X -B Y -B Y -B Y -B Y -C Y -C Z -B Y -C X -B X -B Y -A Z -C X -B X -B Y -B Y -B X -B Y -B Y -B Y -B Y -B Y -B Y -B Y -C Y -B Y -C Y -B X -A Z -B Y -B X -A Y -B Y -B X -A Y -B X -B X -B X -B Y -B Y -B X -B Y -A Z -B Y -B Y -B Y -B Y -B Y -B Y -B Y -B Y -B X -B Y -B Y -A Y -B Y -B X -B X -C Y -C X -B Y -A Y -C Z -B X -B X -B Y -C Y -A Y -B Y -B Y -B X -B Y -B X -C Y -C Y -B Y -B X -B X -B Y -C Y -B Y -C Y -B Y -B Y -C Y -A Y -B Y -A Z -C X -B Y -B Y -B X -B X -C Z -B Y -B Y -B Y -B X -B X -A X -B X -B Z -B Y -B X -B X -B Y -B X -B X -B Y -B Y -B Y -B Y -A Y -B Y -B X -B Z -B Y -A X -A X -A Y -B Y -B Y -C Y -A Y -C Y -B Y -B X -B Y -B Y -B X -B Y -A Y -B Y -B Y -B X -B Y -A Y -B X -B Y - diff --git a/2022/day3/.idea/.idea.Day3/.idea/.gitignore b/2022/day3/.idea/.idea.Day3/.idea/.gitignore deleted file mode 100644 index 58f8579..0000000 --- a/2022/day3/.idea/.idea.Day3/.idea/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Rider ignored files -/modules.xml -/projectSettingsUpdater.xml -/contentModel.xml -/.idea.Day3.iml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/2022/day3/.idea/.idea.Day3/.idea/.name b/2022/day3/.idea/.idea.Day3/.idea/.name deleted file mode 100644 index 4f20f2a..0000000 --- a/2022/day3/.idea/.idea.Day3/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Day3 \ No newline at end of file diff --git a/2022/day3/.idea/.idea.Day3/.idea/discord.xml b/2022/day3/.idea/.idea.Day3/.idea/discord.xml deleted file mode 100644 index d8e9561..0000000 --- a/2022/day3/.idea/.idea.Day3/.idea/discord.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/2022/day3/.idea/.idea.Day3/.idea/indexLayout.xml b/2022/day3/.idea/.idea.Day3/.idea/indexLayout.xml deleted file mode 100644 index 7b08163..0000000 --- a/2022/day3/.idea/.idea.Day3/.idea/indexLayout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2022/day3/.idea/.idea.Day3/.idea/vcs.xml b/2022/day3/.idea/.idea.Day3/.idea/vcs.xml deleted file mode 100644 index b2bdec2..0000000 --- a/2022/day3/.idea/.idea.Day3/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2022/day3/Day3.csproj b/2022/day3/Day3.csproj deleted file mode 100644 index b9de063..0000000 --- a/2022/day3/Day3.csproj +++ /dev/null @@ -1,10 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - diff --git a/2022/day3/Day3.sln b/2022/day3/Day3.sln deleted file mode 100644 index d860cd7..0000000 --- a/2022/day3/Day3.sln +++ /dev/null @@ -1,16 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Day3", "Day3.csproj", "{097D408C-BA93-416B-8F2C-3B61A729F20D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {097D408C-BA93-416B-8F2C-3B61A729F20D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {097D408C-BA93-416B-8F2C-3B61A729F20D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {097D408C-BA93-416B-8F2C-3B61A729F20D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {097D408C-BA93-416B-8F2C-3B61A729F20D}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/2022/day3/Part1.cs b/2022/day3/Part1.cs deleted file mode 100644 index d796e6a..0000000 --- a/2022/day3/Part1.cs +++ /dev/null @@ -1,38 +0,0 @@ -namespace Day3; - -public class Part1 -{ - private static int _sum = 0; - public static void Part1Solver() - { - string[] backpacks = File.ReadAllText("input.txt").Split('\n'); - List duplicates = new List(); - - foreach (string backpack in backpacks) - { - int compartmentSize = backpack.Length / 2; - List itemsInCompartment1 = new List(); - List itemsInCompartment2 = new List(); - - for (int i = 0; i < compartmentSize; i++) - itemsInCompartment1.Add(backpack[i]); - for (int i = compartmentSize; i < compartmentSize * 2; i++) - itemsInCompartment2.Add(backpack[i]); - - char duplicatedItem = itemsInCompartment1.Intersect(itemsInCompartment2).FirstOrDefault(); - duplicates.Add(duplicatedItem); - } - - duplicates.RemoveAt(300); - - foreach (char duplicate in duplicates) - { - if (Char.IsUpper(duplicate)) - _sum += Convert.ToInt16(duplicate) - 38; - else - _sum += Convert.ToInt16(duplicate) - 96; - } - - Console.WriteLine($"Sum is {_sum}"); - } -} \ No newline at end of file diff --git a/2022/day3/Part2.cs b/2022/day3/Part2.cs deleted file mode 100644 index de2e91e..0000000 --- a/2022/day3/Part2.cs +++ /dev/null @@ -1,48 +0,0 @@ -namespace Day3; - -public class Part2 -{ - private static int _sum = 0; - public static void Part2Solver() - { - string[] backpacks = File.ReadAllText("input.txt").Split('\n'); - List> groups = new List>(); - - for (int i = 0; i < backpacks.Length; i+=3) - { - List group = new List(); - - for (int x = 0; x < 3; x++) - { - try - { - group.Add(backpacks[i + x]); - } - catch - { - break; - } - } - - if (group.All(x => x != "")) - groups.Add(group); - } - - List duplicates = new List(); - foreach (List group in groups) - { - string[] groupArray = group.ToArray(); - duplicates.Add(groupArray[0].Intersect(groupArray[1].Intersect(groupArray[2])).FirstOrDefault()); - } - - foreach (char duplicate in duplicates) - { - if (Char.IsUpper(duplicate)) - _sum += Convert.ToInt16(duplicate) - 38; - else - _sum += Convert.ToInt16(duplicate) - 96; - } - - Console.WriteLine($"Sum is {_sum}"); - } -} \ No newline at end of file diff --git a/2022/day3/Program.cs b/2022/day3/Program.cs deleted file mode 100644 index 2088bce..0000000 --- a/2022/day3/Program.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Day3; - -internal class Program -{ - public static void Main(string[] args) - => Part2.Part2Solver(); -} - diff --git a/2022/day3/bin/Debug/net6.0/Day3 b/2022/day3/bin/Debug/net6.0/Day3 deleted file mode 100755 index 61952a3370e26dccb4ecb937b45ae62fd8a2df0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77208 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 Y2QwQV^MgO;!`}j@@Tfm*|9?C1UsQbW!T - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - /home/tiagorg/.nuget/packages/ - /home/tiagorg/.nuget/packages/ - PackageReference - 6.3.1 - - - - - \ No newline at end of file diff --git a/2022/day3/obj/Day3.csproj.nuget.g.targets b/2022/day3/obj/Day3.csproj.nuget.g.targets deleted file mode 100644 index 3dc06ef..0000000 --- a/2022/day3/obj/Day3.csproj.nuget.g.targets +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/2022/day3/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/2022/day3/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs deleted file mode 100644 index 36203c7..0000000 --- a/2022/day3/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] diff --git a/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfo.cs b/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfo.cs deleted file mode 100644 index f72f77c..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("Day3")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] -[assembly: System.Reflection.AssemblyProductAttribute("Day3")] -[assembly: System.Reflection.AssemblyTitleAttribute("Day3")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfoInputs.cache b/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfoInputs.cache deleted file mode 100644 index 36d6788..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -0dac98bec9329467876de2744db541b9695c4a5a diff --git a/2022/day3/obj/Debug/net6.0/Day3.GeneratedMSBuildEditorConfig.editorconfig b/2022/day3/obj/Debug/net6.0/Day3.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index a21b6e1..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -is_global = true -build_property.TargetFramework = net6.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = Day3 -build_property.ProjectDir = /home/tiagorg/repos/advent-of-code-2022/days1-5/day3/ diff --git a/2022/day3/obj/Debug/net6.0/Day3.GlobalUsings.g.cs b/2022/day3/obj/Debug/net6.0/Day3.GlobalUsings.g.cs deleted file mode 100644 index 8578f3d..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.GlobalUsings.g.cs +++ /dev/null @@ -1,8 +0,0 @@ -// -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/2022/day3/obj/Debug/net6.0/Day3.assets.cache b/2022/day3/obj/Debug/net6.0/Day3.assets.cache deleted file mode 100644 index 1ed570329a75a861198e6d5f169dc3c4cf69fd7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmWIWc6a1rU|=Yjp{M@;)Dq?FMlQ~TUZ?+U`#P_^Vc7o6)%ID#FVTL@cAy$UfDx!b lPCp|*H&wqRGci5CC|zGKuQWZiM86<0IXf{uwOAjY5diEV9Nqu` diff --git a/2022/day3/obj/Debug/net6.0/Day3.csproj.AssemblyReference.cache b/2022/day3/obj/Debug/net6.0/Day3.csproj.AssemblyReference.cache deleted file mode 100644 index 94fb1b6b41a869ad6eb7a8729175f8df8e75e521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70487 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 z z@eheU!f&?P=WkKhr^{n=T4L8GBg0Rp)X_^gA&)I2C~v2SJhqU!KDx$xJl&;!r7HF* z_ElJVMUiO>0$-kxyx<`4<*7=Ei_WPmRWGl_O`PCV zMnvUB2To-~VM>6s<^r!MSPb}DLC{1W8*us>GGRh&fWJ&<*?}+4 z-_&o6#%;MCG7}hSh-u}AKV2hiEx#dU1MFzL0bI}fe#Jt=vaX~`Q)vPVQMP6(P9R?SSy+8QHKZME$e885s}YD&`ot_TQju36Eqy+Br_!lajjR~_KjIYsZ~y=R diff --git a/2022/day3/obj/Debug/net6.0/Day3.csproj.CoreCompileInputs.cache b/2022/day3/obj/Debug/net6.0/Day3.csproj.CoreCompileInputs.cache deleted file mode 100644 index 92b561d..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -c934cb40fbc3b9f9ef1ef028f4547779ca0dc8b7 diff --git a/2022/day3/obj/Debug/net6.0/Day3.csproj.FileListAbsolute.txt b/2022/day3/obj/Debug/net6.0/Day3.csproj.FileListAbsolute.txt deleted file mode 100644 index 06950de..0000000 --- a/2022/day3/obj/Debug/net6.0/Day3.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,15 +0,0 @@ -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/Day3 -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/Day3.deps.json -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/Day3.runtimeconfig.json -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/Day3.dll -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/ref/Day3.dll -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/bin/Debug/net6.0/Day3.pdb -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.csproj.AssemblyReference.cache -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.GeneratedMSBuildEditorConfig.editorconfig -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.AssemblyInfoInputs.cache -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.AssemblyInfo.cs -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.csproj.CoreCompileInputs.cache -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.dll -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/ref/Day3.dll -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.pdb -/home/tiagorg/repos/advent-of-code-2022/days1-5/day3/Day3/obj/Debug/net6.0/Day3.genruntimeconfig.cache diff --git a/2022/day3/obj/Debug/net6.0/Day3.dll b/2022/day3/obj/Debug/net6.0/Day3.dll deleted file mode 100644 index e8ddb91cbb909ae2ce71f975b965bb6aa503eb8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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
_;@1%p=CqKZ;9bah%KwwGvHOybKYN3m{Sv9+s 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 Y2QwQV^MgO;!`}j@@Tfm*|9?C1UsQbW!T= int(startRange2) and int(endRange1) <= int(endRange2)) - or (int(startRange2) >= int(startRange1) and int(endRange2) <= int(endRange1))): - containedCount += 1 - - if ((int(endRange1) >= int(startRange2) and int(startRange1) <= int(endRange2)) - or (int(endRange2) >= int(startRange1) and int(startRange2) <= int(endRange1))): - intersectCount += 1 - -print("Contained Count:", containedCount) -print("Intersect Count:", intersectCount) diff --git a/2022/day4/input.txt b/2022/day4/input.txt deleted file mode 100644 index c84044f..0000000 --- a/2022/day4/input.txt +++ /dev/null @@ -1,1000 +0,0 @@ -7-96,6-95 -36-41,35-40 -35-84,83-91 -95-96,5-95 -3-3,4-99 -12-21,21-22 -10-28,10-28 -6-11,10-12 -12-91,76-98 -17-69,18-69 -26-81,7-27 -26-42,57-80 -32-38,33-38 -4-83,5-83 -33-85,34-86 -14-95,6-78 -79-84,78-87 -12-61,11-62 -56-92,55-92 -34-63,9-34 -33-44,33-85 -5-17,16-26 -21-43,21-32 -12-60,59-60 -10-48,10-49 -94-94,71-94 -45-46,24-46 -81-97,82-98 -5-27,27-57 -3-96,2-22 -5-92,2-97 -53-87,76-90 -68-83,82-82 -55-67,55-73 -39-79,78-78 -81-86,87-97 -3-25,2-67 -50-63,62-62 -5-96,5-97 -27-88,28-88 -19-53,20-53 -55-89,55-90 -43-46,43-99 -82-95,56-96 -8-57,8-8 -90-95,2-90 -56-78,34-81 -53-81,54-81 -20-30,9-62 -12-83,11-16 -64-65,63-69 -15-95,15-94 -6-94,4-93 -36-93,8-92 -67-74,68-74 -4-89,5-89 -23-24,22-23 -44-53,45-80 -43-60,43-83 -61-69,62-78 -77-77,25-77 -43-65,43-66 -12-65,13-84 -54-56,54-97 -13-34,33-60 -20-55,55-56 -34-93,35-92 -26-85,27-96 -51-97,9-97 -18-41,17-40 -3-14,14-80 -55-66,8-56 -4-89,64-98 -20-98,20-63 -1-16,15-22 -20-93,41-92 -9-86,8-10 -5-27,27-28 -29-51,30-48 -44-64,44-44 -29-96,2-96 -1-98,13-97 -6-84,18-84 -28-81,27-72 -7-95,6-95 -43-84,78-84 -2-62,35-98 -46-88,9-88 -11-19,10-18 -21-81,22-89 -98-99,78-98 -26-57,25-57 -12-31,10-30 -31-84,32-85 -93-93,91-93 -10-89,8-76 -6-36,7-36 -51-96,95-99 -14-32,5-17 -23-37,34-38 -14-15,22-82 -95-96,72-95 -38-52,53-53 -25-94,25-96 -38-74,37-74 -73-94,41-73 -72-85,35-84 -15-98,14-16 -81-94,82-94 -85-89,85-87 -3-87,3-83 -84-93,4-91 -42-57,42-50 -42-80,23-42 -18-26,18-27 -44-58,44-99 -35-68,3-67 -40-97,41-53 -11-99,12-12 -7-51,12-59 -13-71,68-71 -5-12,4-97 -8-20,20-79 -13-91,12-14 -33-62,18-32 -3-94,5-94 -26-98,26-93 -31-38,30-85 -13-83,14-82 -6-74,73-74 -73-73,45-62 -38-38,38-38 -9-21,4-20 -14-60,13-83 -83-90,83-89 -73-73,6-74 -1-3,3-94 -3-84,3-85 -61-90,81-97 -93-93,23-94 -31-81,81-81 -26-76,75-75 -95-96,94-94 -70-72,71-89 -95-95,4-95 -10-70,9-11 -3-99,4-98 -26-99,26-92 -77-95,78-90 -47-82,48-83 -4-83,82-88 -51-51,42-50 -10-86,11-96 -9-46,39-49 -20-78,20-79 -1-62,2-61 -57-59,58-75 -4-90,28-90 -4-4,4-52 -34-81,35-96 -32-68,67-83 -83-87,84-88 -71-96,71-71 -61-96,95-99 -3-99,1-4 -13-94,12-95 -13-86,14-95 -36-89,35-88 -8-12,12-96 -34-55,33-55 -43-55,56-95 -38-39,7-38 -3-48,47-98 -86-86,5-86 -4-64,4-4 -80-97,41-98 -16-16,30-54 -3-94,4-94 -16-90,15-91 -7-19,7-84 -64-79,8-79 -29-94,94-95 -25-86,24-85 -91-95,90-93 -3-54,3-96 -4-92,6-95 -14-14,14-70 -65-82,83-83 -5-80,18-35 -63-88,44-52 -3-65,1-21 -34-87,49-49 -92-94,48-93 -3-96,3-95 -52-70,51-75 -64-64,7-64 -20-53,21-63 -3-9,6-10 -49-93,50-94 -38-97,38-94 -91-95,92-96 -38-43,38-45 -73-74,19-73 -26-83,82-83 -71-72,71-71 -6-97,6-98 -67-93,90-94 -39-97,40-97 -10-33,33-40 -35-84,34-93 -5-72,73-73 -15-98,14-66 -24-66,25-84 -23-49,11-50 -35-79,34-36 -15-78,16-94 -87-89,6-88 -5-8,7-39 -13-82,2-5 -70-70,14-70 -47-86,87-94 -10-98,9-94 -2-63,1-62 -26-67,26-26 -67-68,66-68 -51-58,49-57 -29-44,41-45 -33-95,34-95 -4-18,4-17 -75-89,75-75 -12-87,11-87 -29-60,31-61 -35-37,36-44 -11-62,10-73 -12-36,12-30 -67-67,67-77 -9-96,10-98 -15-71,12-72 -87-90,15-86 -37-76,37-77 -74-75,73-74 -32-71,31-72 -14-29,29-60 -47-94,36-79 -19-89,16-84 -84-85,77-84 -38-80,7-80 -24-36,25-52 -47-48,47-48 -95-96,34-95 -72-80,72-76 -13-75,12-75 -6-89,5-88 -61-90,21-90 -98-98,1-99 -41-84,41-52 -11-44,11-43 -25-97,25-96 -36-99,35-89 -24-53,23-56 -12-12,12-91 -52-88,52-87 -5-10,5-9 -94-96,7-95 -10-94,9-93 -30-32,31-60 -83-83,9-83 -73-97,60-72 -60-81,38-81 -20-59,19-21 -1-93,74-93 -64-86,17-85 -37-40,37-70 -53-87,24-54 -21-81,20-81 -53-93,54-94 -35-73,39-74 -5-74,6-73 -13-97,24-98 -80-87,81-90 -13-41,42-42 -40-40,40-61 -30-53,31-52 -73-97,74-95 -77-93,78-94 -42-81,43-98 -29-49,18-57 -93-99,97-99 -12-64,12-99 -25-99,46-98 -5-70,11-88 -7-65,7-99 -32-89,31-88 -6-92,1-61 -1-9,10-56 -57-96,97-98 -51-97,98-99 -15-81,14-81 -9-28,10-51 -4-99,4-98 -49-55,49-49 -51-77,43-78 -18-55,19-54 -22-22,22-85 -38-83,37-82 -20-89,4-13 -58-89,1-90 -94-95,55-94 -38-83,69-93 -29-53,52-52 -9-99,10-99 -37-67,37-66 -39-97,19-49 -10-96,9-63 -23-98,75-98 -15-96,15-93 -5-10,9-56 -7-84,3-8 -84-86,73-85 -64-84,39-75 -23-41,22-23 -18-20,16-18 -69-82,69-97 -42-76,43-74 -27-29,16-29 -52-63,55-64 -22-91,96-99 -13-74,12-75 -76-81,76-80 -23-54,20-53 -85-87,47-86 -23-33,22-30 -3-19,19-19 -36-43,43-53 -2-89,1-99 -9-31,8-15 -92-94,64-94 -36-88,35-70 -70-73,68-72 -44-70,33-38 -40-91,40-99 -77-77,15-76 -21-37,30-77 -82-86,61-82 -3-77,3-92 -49-60,15-60 -9-85,65-86 -2-13,12-65 -39-48,47-49 -37-77,37-37 -53-54,54-81 -43-72,42-71 -4-4,5-85 -54-85,85-85 -39-79,40-80 -9-83,8-84 -12-79,3-80 -62-92,61-90 -4-64,62-63 -82-82,9-82 -31-85,43-86 -5-51,4-52 -95-98,98-99 -61-89,89-90 -5-57,30-69 -6-46,6-50 -6-43,12-42 -33-58,32-57 -55-55,56-91 -92-94,42-93 -3-98,98-98 -12-68,3-13 -77-77,78-78 -33-92,91-91 -12-13,13-44 -2-93,1-3 -42-49,41-47 -16-86,3-16 -13-26,26-32 -1-95,46-95 -36-58,37-38 -15-17,18-98 -57-83,70-84 -23-85,5-23 -50-99,8-96 -76-76,75-82 -4-97,98-98 -3-24,11-30 -27-27,13-28 -25-55,23-24 -26-48,26-86 -15-42,14-42 -50-61,50-62 -39-96,3-39 -28-52,43-56 -20-90,61-91 -79-99,99-99 -8-23,8-29 -12-78,12-77 -39-41,27-40 -8-90,5-7 -8-32,20-33 -21-89,22-90 -3-36,3-99 -37-60,36-63 -28-42,5-42 -44-57,40-56 -52-69,43-69 -9-10,8-9 -1-98,1-99 -8-21,3-12 -1-82,1-56 -16-16,5-15 -37-56,38-75 -20-53,19-31 -54-97,97-97 -11-93,10-38 -18-60,7-41 -96-99,8-97 -42-63,63-92 -12-51,50-51 -45-45,44-87 -62-63,16-63 -36-81,36-36 -4-45,1-4 -12-14,7-13 -64-64,60-64 -68-68,67-68 -9-95,94-98 -56-72,55-74 -34-57,34-46 -33-69,33-70 -65-78,64-66 -3-64,63-65 -6-79,6-69 -66-93,93-94 -55-56,36-55 -8-96,7-95 -33-83,33-93 -54-96,55-96 -1-73,5-90 -76-78,61-77 -10-90,9-94 -27-81,16-57 -85-96,86-96 -48-48,11-49 -47-63,48-48 -18-27,18-48 -40-93,40-46 -31-44,32-43 -21-41,34-40 -44-53,44-54 -28-95,7-95 -2-97,1-97 -20-97,96-99 -71-82,20-72 -4-32,4-98 -56-56,23-55 -10-74,73-73 -22-78,21-77 -57-65,56-65 -45-95,12-87 -62-67,62-77 -33-78,31-79 -33-51,32-50 -21-99,26-87 -11-94,98-99 -15-49,15-50 -2-9,10-83 -39-39,16-40 -15-73,40-74 -98-99,6-98 -46-84,46-81 -9-97,9-96 -56-66,36-55 -65-81,66-93 -14-97,70-96 -47-92,46-92 -12-46,13-19 -5-57,25-86 -44-84,45-83 -14-39,31-39 -46-68,32-69 -13-90,17-80 -14-64,15-78 -3-5,4-57 -6-7,13-57 -75-75,6-75 -46-92,45-64 -17-45,16-45 -8-94,52-99 -94-95,6-94 -37-76,36-75 -55-56,6-65 -40-64,28-50 -12-20,21-95 -28-50,47-51 -99-99,7-98 -37-63,33-89 -14-99,13-13 -7-80,7-19 -19-47,18-18 -37-46,47-47 -17-73,4-86 -9-43,10-43 -26-71,25-26 -14-91,1-10 -31-58,30-31 -44-44,22-45 -59-59,59-60 -9-9,9-64 -44-65,45-46 -10-96,96-96 -2-52,2-84 -35-36,35-35 -94-95,81-94 -12-89,13-90 -4-86,4-93 -13-96,4-96 -52-54,53-72 -6-90,5-91 -10-34,10-75 -22-31,22-30 -23-97,9-96 -7-91,83-95 -8-12,8-18 -34-39,35-38 -2-22,3-87 -6-15,7-54 -37-84,36-62 -51-93,51-94 -4-4,5-97 -17-55,33-56 -48-53,50-89 -17-90,18-99 -8-8,29-60 -18-40,32-87 -3-88,3-89 -14-14,15-53 -55-62,55-61 -5-96,58-97 -50-59,50-98 -37-86,38-86 -1-56,11-68 -65-75,66-69 -66-84,73-92 -99-99,2-99 -99-99,13-99 -65-88,6-93 -13-89,90-90 -41-64,40-63 -21-66,22-66 -57-92,56-93 -57-78,78-92 -94-98,11-94 -10-53,27-54 -37-42,38-42 -17-97,1-17 -39-86,39-85 -6-6,7-43 -20-55,21-55 -93-93,7-94 -73-74,75-95 -29-88,28-72 -40-90,22-86 -75-75,20-76 -15-72,4-74 -69-82,64-81 -21-23,21-59 -56-70,68-73 -9-94,95-95 -4-6,8-53 -7-20,19-45 -25-41,26-40 -62-72,61-74 -79-95,49-79 -2-96,1-95 -19-33,25-59 -8-90,7-91 -28-91,90-92 -11-20,19-88 -5-30,6-10 -8-99,8-8 -90-99,94-99 -19-77,19-94 -37-58,37-63 -23-44,3-45 -6-98,5-98 -9-42,6-9 -66-75,71-76 -58-87,86-88 -40-48,40-49 -17-24,17-48 -3-97,2-32 -37-88,37-89 -3-89,5-25 -19-61,13-20 -5-67,3-6 -72-73,15-72 -36-78,75-79 -6-92,7-91 -28-97,27-98 -56-56,14-56 -2-92,1-92 -1-7,7-82 -34-71,11-72 -5-96,5-83 -23-71,67-73 -25-93,25-94 -2-99,1-2 -21-73,11-73 -57-63,56-62 -30-33,33-34 -77-77,31-77 -13-78,14-96 -17-80,46-93 -17-46,1-17 -42-50,41-87 -31-84,4-31 -39-80,18-79 -13-31,14-84 -2-96,3-94 -8-98,9-67 -22-60,22-22 -16-97,15-99 -82-93,82-82 -57-77,22-70 -96-97,13-96 -17-41,41-85 -17-72,17-98 -12-96,4-96 -15-18,17-19 -33-53,33-59 -34-41,35-64 -94-98,27-93 -98-98,1-98 -57-69,32-70 -67-89,66-67 -66-72,73-73 -5-43,5-73 -26-98,27-68 -16-80,15-81 -2-65,2-55 -82-92,82-93 -16-16,16-21 -2-19,4-48 -82-82,56-81 -2-97,1-97 -53-54,38-53 -20-87,21-88 -45-60,44-56 -4-4,5-92 -95-95,79-95 -21-71,7-72 -57-83,58-83 -4-66,11-67 -57-57,58-92 -17-91,17-76 -14-15,15-56 -4-4,4-98 -7-98,15-68 -28-94,94-94 -3-47,27-47 -4-33,12-69 -48-56,48-57 -3-26,5-65 -46-71,46-72 -9-98,37-99 -60-76,18-75 -26-26,26-27 -31-56,31-57 -96-96,4-96 -55-82,55-83 -25-26,26-48 -59-71,54-56 -69-70,7-69 -2-98,98-98 -24-74,75-92 -61-96,61-86 -1-73,1-1 -57-86,56-67 -9-94,94-94 -52-52,53-98 -4-7,2-8 -35-63,34-60 -29-94,29-71 -43-89,44-90 -13-17,12-15 -52-58,51-79 -51-94,12-93 -24-52,24-26 -14-53,53-54 -26-91,26-64 -18-78,65-79 -27-64,55-87 -40-67,68-68 -25-70,24-70 -1-82,81-94 -17-19,18-89 -18-18,17-18 -33-60,57-72 -51-73,52-99 -41-98,42-98 -8-25,14-34 -2-17,1-62 -26-40,21-40 -2-21,3-16 -72-85,72-98 -41-86,14-58 -14-16,30-60 -96-97,22-96 -12-57,12-58 -16-74,15-75 -8-61,7-36 -37-56,36-67 -6-99,6-87 -60-75,60-60 -96-98,67-97 -15-26,25-27 -14-88,87-87 -31-95,32-96 -75-91,53-76 -16-49,17-38 -40-82,41-77 -3-59,2-59 -20-44,20-45 -10-76,9-76 -11-13,12-91 -16-18,17-95 -47-62,33-61 -34-69,19-70 -72-92,91-99 -27-34,28-29 -6-86,2-5 -25-75,25-40 -34-68,35-68 -16-95,16-94 -37-96,37-93 -20-62,20-61 -5-86,4-85 -37-49,35-36 -48-59,48-60 -38-42,39-49 -36-89,37-97 -24-26,25-69 -8-93,21-93 -24-83,23-83 -38-68,37-39 -11-70,34-86 -14-88,13-93 -86-86,47-87 -33-67,32-34 -1-80,80-80 -81-82,8-81 -53-97,5-98 -11-30,1-18 -4-99,3-98 -1-99,77-98 -8-14,15-56 -3-70,2-87 -19-34,34-62 -56-57,57-91 -3-64,2-4 -80-83,84-89 -58-59,1-58 -4-77,5-86 -5-97,3-97 -48-94,26-95 -10-96,7-95 -4-4,6-41 -5-23,4-6 -5-91,90-93 -13-88,89-89 -1-97,90-97 -69-80,69-91 -8-11,11-72 -24-45,36-44 -20-20,20-46 -64-73,65-94 -46-90,47-77 -7-61,61-74 -16-25,25-26 -16-16,15-22 -60-89,61-89 -51-99,52-84 -22-85,22-93 -46-71,45-72 -9-65,10-66 -65-69,60-66 -24-43,23-75 -15-30,3-31 -44-93,26-65 -8-35,8-34 -68-82,2-79 -67-71,18-67 -93-97,93-98 -6-83,2-2 -26-84,27-50 -2-50,49-52 -39-80,40-65 -3-3,4-68 -27-84,36-85 -21-86,20-39 -10-82,9-71 -18-86,40-60 -55-80,23-46 -24-30,23-23 -29-68,30-45 -41-48,42-59 -85-94,88-93 -2-99,98-99 -33-94,94-95 -78-80,3-79 -94-94,16-94 -1-4,3-97 -71-96,52-72 -94-96,95-98 -71-72,72-81 -20-33,32-33 -15-55,15-15 -21-33,33-65 -28-33,27-33 -1-93,57-92 -23-64,63-93 -5-89,4-89 -66-71,68-78 -7-80,2-7 -10-86,9-71 -2-99,2-98 -6-15,5-14 -83-88,60-84 -34-37,33-36 -49-82,82-83 -68-75,61-69 -40-87,16-41 -61-67,64-67 -8-67,7-68 -31-61,30-88 -16-77,16-16 -1-62,63-63 -7-67,2-6 -39-67,8-57 -7-94,11-95 -41-93,73-85 -39-54,47-98 -28-90,2-83 -1-6,6-57 -10-11,9-16 -28-82,27-81 -4-95,5-96 -31-95,8-94 -73-91,33-84 -34-92,15-35 -49-94,6-50 -3-99,2-98 -59-60,34-59 -22-76,22-86 -9-11,10-93 -67-78,77-86 -16-83,15-47 -73-81,72-73 -72-88,2-73 -26-62,27-72 -5-81,5-89 -19-69,20-69 -32-97,32-96 -63-86,32-75 -7-97,7-96 -84-92,91-93 -72-96,2-96 -19-22,19-19 -66-82,65-81 -81-96,65-82 -71-83,35-88 -99-99,1-99 -22-97,22-96 -29-97,29-83 -13-85,84-84 -23-67,23-34 -14-81,13-81 -55-98,16-97 -58-78,38-78 -6-16,3-16 -47-78,46-77 -16-53,15-25 -84-90,83-91 -32-32,31-47 -2-21,4-57 -17-56,49-55 -12-67,67-67 -19-71,42-97 -82-82,63-83 -39-46,18-46 -6-97,1-97 -42-88,43-89 -19-19,19-95 -17-95,4-95 -50-96,50-90 -3-81,1-2 -4-47,7-18 -12-17,7-95 -23-92,23-58 -40-91,91-92 -3-69,69-70 -47-50,46-50 -9-92,9-97 -7-71,4-16 -27-38,74-96 -11-30,30-89 -23-46,22-46 -2-6,5-98 -36-93,35-93 -9-19,19-99 -25-33,32-34 -13-36,14-35 -5-97,4-5 -19-99,20-95 -43-79,54-83 -21-99,20-47 -71-74,70-72 -90-90,3-90 -71-99,71-71 -5-6,6-98 -74-84,74-83 -19-95,19-94 -34-81,38-83 -13-34,5-14 -15-80,15-79 -6-23,5-90 -67-76,67-70 -39-91,14-90 -65-96,64-95 -8-88,52-89 -61-94,89-94 -32-66,66-66 -10-28,15-55 -9-93,8-90 -38-97,39-98 -78-84,77-79 -5-85,3-29 -21-80,80-80 -84-89,88-90 -45-85,12-66 -99-99,1-98 -45-49,48-74 -6-98,3-68 -13-95,94-95 -49-52,51-53 -18-43,6-18 -85-85,20-85 -62-65,61-65 -8-92,9-92 -23-83,22-83 -15-77,77-77 -56-74,55-78 -23-78,22-79 -32-80,33-34 -4-99,11-96 -27-91,16-91 -8-82,8-81 -3-39,28-39 -39-47,39-46 -16-21,34-70 -65-98,65-97 -16-86,16-85 -8-99,33-73 -24-94,19-93 -48-57,56-58 -4-96,3-40 -73-83,17-82 -1-3,2-55 -83-96,96-97 -35-83,66-91 -27-44,16-34 -33-82,31-60 -46-88,45-88 -45-78,58-78 -41-47,40-80 -5-95,4-95 -9-65,10-67 -51-82,68-82 -52-98,36-94 -36-38,37-41 -19-33,9-33 -22-98,21-23 -12-96,11-97 -75-77,11-76 -91-92,12-91 -92-93,4-93 -18-18,17-18 -20-45,44-55 -94-95,61-94 -38-99,39-73 -6-11,11-84 -29-49,9-29 -24-91,24-44 -72-72,28-72 -49-53,49-51 -9-85,8-85 -26-80,26-90 diff --git a/2022/day5/day5.py b/2022/day5/day5.py deleted file mode 100644 index 4485b21..0000000 --- a/2022/day5/day5.py +++ /dev/null @@ -1,60 +0,0 @@ -def main() -> None: - with open('input.txt', 'r') as f: - input_content = f.read() - crate_input_content, moves_input_content = input_content.split('\n\n') - - crates_dictionary = { - 1: [], - 2: [], - 3: [], - 4: [], - 5: [], - 6: [], - 7: [], - 8: [], - 9: [], - } - crates_dictionary_builder(crates_dictionary, crate_input_content) - move_list = move_list_builder(moves_input_content) - - print(crates_dictionary) - - for move in move_list: - crates_moved = crates_dictionary[move[1]][:move[0]] - for i in range(move[0]): - crates_dictionary[move[1]].remove(crates_dictionary[move[1]][0]) - for crate in crates_moved[::-1]: # Remove [::-1] for part 1 - crates_dictionary[move[2]].insert(0, crate) - print(crates_dictionary) - - for crates in crates_dictionary.values(): - print(crates[0], end='') - - -def crates_dictionary_builder(c_dict: dict, content: str) -> None: - content_lines = content[:-1].splitlines() - for line in content_lines: - first_crate = 0 - if line[first_crate] == '[': - c_dict[1].append(line[1]) - while '[' in line[first_crate+1:]: - try: - first_crate = line.index('[', first_crate+1) - except ValueError: - print('a') - c_dict[first_crate//4+1] += line[first_crate+1] - - -def move_list_builder(content: str) -> list[tuple]: - moves_content = content.splitlines() - move_list = [] - for move in moves_content: - move = move[5:] - moved, rest = move.split(' from ') - moved_from, moved_to = rest.split(' to ') - move_list.append((int(moved), int(moved_from), int(moved_to))) - return move_list - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/2022/day5/input.txt b/2022/day5/input.txt deleted file mode 100644 index 9833f09..0000000 --- a/2022/day5/input.txt +++ /dev/null @@ -1,512 +0,0 @@ - [V] [C] [M] -[V] [J] [N] [H] [V] -[R] [F] [N] [W] [Z] [N] -[H] [R] [D] [Q] [M] [L] [B] -[B] [C] [H] [V] [R] [C] [G] [R] -[G] [G] [F] [S] [D] [H] [B] [R] [S] -[D] [N] [S] [D] [H] [G] [J] [J] [G] -[W] [J] [L] [J] [S] [P] [F] [S] [L] - 1 2 3 4 5 6 7 8 9 - -move 2 from 2 to 7 -move 8 from 5 to 6 -move 2 from 4 to 5 -move 1 from 4 to 5 -move 1 from 5 to 8 -move 5 from 9 to 2 -move 7 from 1 to 6 -move 7 from 3 to 8 -move 1 from 4 to 6 -move 2 from 5 to 6 -move 6 from 7 to 5 -move 2 from 2 to 4 -move 4 from 5 to 2 -move 10 from 8 to 1 -move 2 from 7 to 4 -move 4 from 2 to 8 -move 2 from 9 to 8 -move 1 from 8 to 4 -move 2 from 4 to 9 -move 5 from 8 to 2 -move 1 from 4 to 6 -move 1 from 8 to 9 -move 1 from 7 to 2 -move 2 from 4 to 2 -move 1 from 7 to 3 -move 13 from 2 to 1 -move 1 from 2 to 4 -move 1 from 2 to 3 -move 2 from 5 to 4 -move 17 from 6 to 4 -move 3 from 4 to 9 -move 14 from 1 to 4 -move 4 from 6 to 8 -move 1 from 9 to 8 -move 23 from 4 to 8 -move 6 from 1 to 7 -move 3 from 1 to 5 -move 1 from 3 to 8 -move 5 from 7 to 8 -move 1 from 3 to 4 -move 1 from 5 to 3 -move 1 from 5 to 1 -move 1 from 3 to 2 -move 1 from 9 to 4 -move 9 from 4 to 9 -move 1 from 1 to 2 -move 11 from 8 to 2 -move 1 from 4 to 5 -move 13 from 2 to 3 -move 7 from 9 to 6 -move 1 from 5 to 6 -move 1 from 5 to 2 -move 1 from 9 to 4 -move 1 from 4 to 9 -move 2 from 8 to 9 -move 1 from 7 to 8 -move 8 from 9 to 1 -move 8 from 1 to 4 -move 4 from 6 to 7 -move 1 from 9 to 4 -move 2 from 3 to 9 -move 1 from 9 to 1 -move 6 from 4 to 1 -move 2 from 1 to 3 -move 22 from 8 to 6 -move 1 from 2 to 5 -move 3 from 7 to 8 -move 15 from 6 to 4 -move 7 from 3 to 7 -move 4 from 6 to 9 -move 2 from 9 to 2 -move 6 from 3 to 5 -move 3 from 9 to 5 -move 5 from 5 to 8 -move 1 from 2 to 1 -move 6 from 8 to 2 -move 1 from 1 to 2 -move 3 from 5 to 3 -move 1 from 7 to 2 -move 4 from 7 to 8 -move 4 from 6 to 1 -move 1 from 5 to 1 -move 4 from 8 to 7 -move 2 from 3 to 2 -move 1 from 1 to 3 -move 15 from 4 to 2 -move 3 from 7 to 3 -move 4 from 7 to 2 -move 1 from 4 to 9 -move 5 from 3 to 8 -move 29 from 2 to 1 -move 1 from 9 to 5 -move 1 from 2 to 1 -move 11 from 1 to 5 -move 1 from 4 to 5 -move 2 from 6 to 3 -move 1 from 3 to 4 -move 16 from 1 to 9 -move 4 from 8 to 4 -move 3 from 6 to 9 -move 1 from 3 to 7 -move 1 from 7 to 3 -move 6 from 1 to 6 -move 3 from 4 to 3 -move 3 from 8 to 5 -move 3 from 1 to 8 -move 3 from 1 to 4 -move 2 from 4 to 9 -move 3 from 6 to 3 -move 15 from 5 to 2 -move 3 from 2 to 3 -move 4 from 2 to 7 -move 2 from 5 to 9 -move 10 from 3 to 6 -move 11 from 9 to 5 -move 2 from 4 to 9 -move 8 from 9 to 4 -move 1 from 9 to 6 -move 7 from 4 to 6 -move 3 from 5 to 8 -move 22 from 6 to 9 -move 4 from 7 to 8 -move 8 from 5 to 8 -move 2 from 4 to 3 -move 1 from 8 to 1 -move 17 from 8 to 3 -move 3 from 3 to 4 -move 13 from 3 to 9 -move 20 from 9 to 7 -move 2 from 2 to 9 -move 19 from 9 to 5 -move 1 from 1 to 4 -move 3 from 2 to 7 -move 4 from 4 to 3 -move 1 from 9 to 8 -move 18 from 5 to 1 -move 1 from 9 to 4 -move 1 from 9 to 7 -move 2 from 4 to 8 -move 1 from 5 to 4 -move 3 from 2 to 7 -move 3 from 3 to 1 -move 2 from 1 to 3 -move 3 from 3 to 8 -move 1 from 4 to 8 -move 6 from 8 to 2 -move 1 from 3 to 9 -move 1 from 3 to 9 -move 10 from 1 to 9 -move 7 from 1 to 7 -move 4 from 7 to 4 -move 29 from 7 to 3 -move 6 from 2 to 9 -move 25 from 3 to 6 -move 5 from 3 to 9 -move 13 from 6 to 9 -move 12 from 6 to 2 -move 1 from 8 to 9 -move 10 from 2 to 6 -move 7 from 6 to 5 -move 20 from 9 to 3 -move 11 from 3 to 6 -move 1 from 7 to 9 -move 2 from 2 to 9 -move 19 from 9 to 2 -move 14 from 6 to 8 -move 4 from 5 to 2 -move 2 from 4 to 6 -move 3 from 5 to 1 -move 13 from 8 to 5 -move 1 from 6 to 1 -move 2 from 4 to 2 -move 8 from 2 to 4 -move 6 from 4 to 7 -move 1 from 9 to 8 -move 2 from 4 to 7 -move 5 from 2 to 4 -move 4 from 4 to 2 -move 10 from 5 to 6 -move 1 from 1 to 7 -move 1 from 5 to 4 -move 1 from 4 to 9 -move 4 from 7 to 8 -move 5 from 1 to 7 -move 1 from 9 to 7 -move 7 from 3 to 2 -move 2 from 5 to 2 -move 8 from 6 to 9 -move 1 from 4 to 6 -move 3 from 7 to 4 -move 5 from 9 to 7 -move 2 from 4 to 3 -move 20 from 2 to 4 -move 2 from 4 to 8 -move 14 from 4 to 2 -move 12 from 7 to 4 -move 8 from 2 to 1 -move 10 from 2 to 4 -move 6 from 8 to 5 -move 1 from 7 to 8 -move 4 from 4 to 3 -move 1 from 3 to 9 -move 1 from 2 to 7 -move 1 from 6 to 8 -move 5 from 3 to 5 -move 1 from 3 to 2 -move 7 from 4 to 5 -move 6 from 1 to 7 -move 5 from 7 to 6 -move 1 from 6 to 5 -move 2 from 7 to 8 -move 1 from 2 to 6 -move 2 from 8 to 2 -move 5 from 5 to 7 -move 6 from 6 to 8 -move 16 from 4 to 9 -move 16 from 9 to 4 -move 11 from 5 to 4 -move 5 from 8 to 3 -move 2 from 5 to 2 -move 14 from 4 to 2 -move 1 from 6 to 3 -move 1 from 6 to 9 -move 1 from 5 to 3 -move 3 from 8 to 2 -move 10 from 4 to 7 -move 5 from 9 to 2 -move 3 from 4 to 7 -move 1 from 1 to 4 -move 3 from 2 to 5 -move 2 from 3 to 7 -move 1 from 4 to 2 -move 18 from 2 to 8 -move 3 from 8 to 4 -move 5 from 3 to 1 -move 1 from 3 to 9 -move 1 from 9 to 3 -move 8 from 8 to 7 -move 2 from 5 to 4 -move 1 from 5 to 6 -move 1 from 2 to 5 -move 1 from 5 to 8 -move 1 from 6 to 9 -move 3 from 2 to 7 -move 27 from 7 to 4 -move 2 from 2 to 4 -move 4 from 8 to 4 -move 1 from 9 to 8 -move 3 from 1 to 6 -move 1 from 3 to 5 -move 3 from 8 to 3 -move 1 from 1 to 4 -move 1 from 8 to 1 -move 3 from 1 to 4 -move 2 from 8 to 2 -move 2 from 6 to 2 -move 8 from 4 to 9 -move 1 from 7 to 1 -move 1 from 5 to 4 -move 1 from 7 to 3 -move 4 from 2 to 7 -move 1 from 8 to 6 -move 8 from 9 to 7 -move 1 from 6 to 3 -move 3 from 3 to 4 -move 37 from 4 to 1 -move 1 from 4 to 5 -move 13 from 7 to 8 -move 6 from 8 to 4 -move 5 from 8 to 3 -move 1 from 7 to 6 -move 4 from 1 to 5 -move 1 from 6 to 5 -move 2 from 8 to 4 -move 32 from 1 to 5 -move 1 from 1 to 4 -move 5 from 3 to 5 -move 1 from 3 to 2 -move 1 from 2 to 9 -move 19 from 5 to 2 -move 1 from 9 to 1 -move 16 from 5 to 1 -move 7 from 5 to 6 -move 1 from 3 to 1 -move 11 from 1 to 2 -move 18 from 2 to 4 -move 1 from 5 to 9 -move 8 from 6 to 1 -move 10 from 2 to 6 -move 7 from 4 to 9 -move 2 from 2 to 1 -move 7 from 4 to 2 -move 5 from 4 to 5 -move 2 from 9 to 6 -move 9 from 6 to 3 -move 5 from 5 to 3 -move 8 from 4 to 9 -move 7 from 9 to 8 -move 4 from 2 to 9 -move 10 from 3 to 1 -move 6 from 8 to 1 -move 2 from 6 to 3 -move 5 from 3 to 8 -move 3 from 2 to 7 -move 1 from 9 to 5 -move 1 from 3 to 5 -move 2 from 7 to 8 -move 1 from 8 to 9 -move 1 from 6 to 1 -move 23 from 1 to 4 -move 2 from 5 to 3 -move 1 from 8 to 2 -move 2 from 8 to 5 -move 2 from 5 to 6 -move 1 from 2 to 7 -move 1 from 7 to 5 -move 4 from 9 to 7 -move 1 from 7 to 5 -move 1 from 3 to 6 -move 3 from 7 to 4 -move 1 from 3 to 8 -move 1 from 4 to 6 -move 6 from 1 to 8 -move 4 from 6 to 4 -move 2 from 9 to 1 -move 1 from 5 to 1 -move 19 from 4 to 2 -move 2 from 9 to 3 -move 1 from 9 to 3 -move 9 from 1 to 8 -move 1 from 5 to 8 -move 1 from 9 to 3 -move 2 from 3 to 9 -move 3 from 8 to 4 -move 1 from 4 to 9 -move 1 from 9 to 5 -move 2 from 3 to 4 -move 6 from 4 to 7 -move 3 from 9 to 5 -move 4 from 4 to 7 -move 1 from 5 to 6 -move 18 from 2 to 7 -move 13 from 7 to 9 -move 3 from 5 to 1 -move 1 from 2 to 1 -move 1 from 6 to 5 -move 3 from 1 to 7 -move 1 from 1 to 5 -move 7 from 9 to 6 -move 8 from 7 to 4 -move 11 from 7 to 6 -move 5 from 9 to 2 -move 17 from 6 to 1 -move 2 from 5 to 1 -move 11 from 8 to 1 -move 20 from 1 to 2 -move 3 from 8 to 1 -move 1 from 9 to 8 -move 1 from 6 to 1 -move 11 from 1 to 7 -move 18 from 2 to 3 -move 12 from 4 to 8 -move 11 from 7 to 3 -move 7 from 2 to 3 -move 2 from 1 to 5 -move 1 from 1 to 3 -move 1 from 8 to 1 -move 1 from 5 to 9 -move 1 from 9 to 6 -move 1 from 8 to 7 -move 1 from 5 to 3 -move 1 from 6 to 7 -move 2 from 8 to 1 -move 8 from 3 to 2 -move 7 from 2 to 9 -move 6 from 8 to 6 -move 1 from 9 to 3 -move 2 from 6 to 4 -move 5 from 9 to 6 -move 7 from 6 to 2 -move 8 from 2 to 9 -move 2 from 1 to 9 -move 2 from 7 to 2 -move 2 from 4 to 8 -move 1 from 2 to 7 -move 25 from 3 to 7 -move 7 from 9 to 7 -move 1 from 2 to 5 -move 1 from 1 to 4 -move 3 from 8 to 1 -move 3 from 1 to 8 -move 3 from 7 to 8 -move 15 from 7 to 3 -move 10 from 8 to 3 -move 1 from 5 to 7 -move 1 from 8 to 5 -move 3 from 9 to 2 -move 1 from 6 to 4 -move 2 from 2 to 7 -move 1 from 2 to 5 -move 14 from 7 to 9 -move 1 from 6 to 2 -move 1 from 7 to 1 -move 1 from 5 to 4 -move 3 from 4 to 3 -move 1 from 7 to 6 -move 1 from 2 to 7 -move 1 from 1 to 2 -move 3 from 9 to 1 -move 1 from 6 to 2 -move 2 from 2 to 6 -move 17 from 3 to 6 -move 1 from 8 to 3 -move 1 from 5 to 4 -move 2 from 7 to 2 -move 9 from 9 to 8 -move 1 from 9 to 3 -move 16 from 3 to 2 -move 1 from 7 to 5 -move 5 from 6 to 5 -move 1 from 1 to 6 -move 1 from 4 to 1 -move 1 from 9 to 3 -move 9 from 8 to 6 -move 3 from 1 to 5 -move 1 from 9 to 1 -move 16 from 2 to 1 -move 2 from 2 to 7 -move 2 from 3 to 9 -move 2 from 7 to 4 -move 2 from 9 to 3 -move 3 from 3 to 5 -move 1 from 4 to 5 -move 1 from 4 to 2 -move 1 from 1 to 7 -move 1 from 7 to 1 -move 1 from 3 to 6 -move 2 from 5 to 1 -move 3 from 6 to 2 -move 2 from 5 to 8 -move 8 from 5 to 4 -move 1 from 5 to 3 -move 1 from 3 to 2 -move 1 from 8 to 3 -move 1 from 3 to 8 -move 4 from 1 to 7 -move 9 from 1 to 7 -move 6 from 1 to 8 -move 3 from 7 to 4 -move 7 from 6 to 7 -move 11 from 4 to 3 -move 2 from 3 to 8 -move 8 from 3 to 8 -move 4 from 6 to 1 -move 1 from 7 to 4 -move 2 from 1 to 2 -move 8 from 7 to 2 -move 1 from 4 to 8 -move 10 from 8 to 2 -move 2 from 6 to 1 -move 1 from 1 to 4 -move 1 from 4 to 8 -move 2 from 1 to 4 -move 6 from 6 to 5 -move 1 from 1 to 9 -move 2 from 6 to 8 -move 1 from 4 to 5 -move 1 from 6 to 9 -move 4 from 8 to 9 -move 1 from 7 to 1 -move 6 from 8 to 6 -move 1 from 6 to 1 -move 1 from 4 to 9 -move 2 from 9 to 5 -move 5 from 5 to 9 -move 8 from 9 to 5 -move 2 from 8 to 5 -move 3 from 6 to 9 -move 8 from 5 to 7 -move 5 from 5 to 6 -move 1 from 9 to 2 -move 1 from 3 to 1 -move 1 from 6 to 7 -move 1 from 5 to 6 -move 24 from 2 to 4 -move 3 from 9 to 7 -move 16 from 4 to 5 -move 2 from 1 to 3 -move 12 from 5 to 6 -move 1 from 9 to 5 -move 4 from 5 to 9 -move 1 from 1 to 6 -move 1 from 5 to 2 -move 2 from 9 to 8 -move 1 from 8 to 1 -move 5 from 4 to 5 -move 2 from 3 to 5 -move 1 from 8 to 3 -move 1 from 1 to 6 -move 3 from 5 to 7 -move 1 from 9 to 1 -move 1 from 2 to 8 \ No newline at end of file diff --git a/2022/day6/day6_part1.py b/2022/day6/day6_part1.py deleted file mode 100644 index c803865..0000000 --- a/2022/day6/day6_part1.py +++ /dev/null @@ -1,3 +0,0 @@ -with open('input.txt', 'r') as f: - stream = f.read() -print([i+4 for i in range(len(stream)) if i < (len(stream)-4) and stream[i] not in stream[i + 1:i + 4] and stream[i + 1] not in stream[i + 2:i + 4] and stream[i + 2] != stream[i + 3]][0]) diff --git a/2022/day6/day6_part2.py b/2022/day6/day6_part2.py deleted file mode 100644 index 055b9ec..0000000 --- a/2022/day6/day6_part2.py +++ /dev/null @@ -1,21 +0,0 @@ -def main(): - with open('input.txt', 'r') as f: - stream = f.read() - - for i in range(len(stream)): - if validate(stream[i:i+14]): - print(i+14) - return - print('No valid marker') - - -def validate(part_string: str) -> bool: - for i in range(len(part_string)): - for j in range(len(part_string)): - if i != j and part_string[i] == part_string[j]: - return False - return True - - -if __name__ == "__main__": - main() diff --git a/2022/day6/input.txt b/2022/day6/input.txt deleted file mode 100644 index a7ce5f7..0000000 --- a/2022/day6/input.txt +++ /dev/null @@ -1 +0,0 @@ -tzltzltthfthtdtstftbfbnffdjjvnvcccnznpndppsvvlnvlnvndntnllwffvwwcpwccssqbqnbbwzbwwfjjscspspfsfvvzjvvmjvjwjljbbbqtbbcqbccdqcdcpddnvnjvvqwwbrbggjllhbbzlblrrrcwwrfrmffgddfsddnqnqpnnmzzwlzwzqwqgqnngnfnvnhvvfnvvszzrbrqbqnbbrsbsvssgngwgqwqbqsbsvbbdvdfvdvbbqlqdlqdllnppwcclwlvwlwjlwwdjjjcschhhmrrnnrznzlnnwmnwnfngghngnpggmrrzrttdbdtddjhdhrrqddnhnjjntjtbtmtffwcfcnfcnfnjjfnjfjjhrhhgfgttgmttltfllfqfnqqcbbrlblrbrcrssrllhddmnddmcdddvttfdfqfmqqcncggczczdccvhcvcjvvgnnqttltcchzhjjwmmqvqtqnqbbhddcqdccnwccttgwwzssncncjjprjjpbprrndnrnrhnhrnhngnhhbjbccpmpmrppjvpjpqjjsvjjhttcclmmqzzlggtqqqgdqqbhhtmmqfmqmwmjwmjmmnsmsvsrrvpvhhtshhhmqmdqqqqlfffwgwhwjjrfjfmfrmffgzzjvzznqqwggcvcnvvcpvpjpjbpbrpbrrzhhcffqqlzzrmzrmzmzrrqdqrqnqrnrnqnrnsrrnjrrgllgqlljldjjmvvqbqhhsmsmddsfdddcmmphhtjhjzhjjjhcjjzppwhwvvdnvnvpnvnlnvnffrjjtzzdqzzngzgqghhmvvgwwqhwhlhvvfzzdpzddtbdtbtvtlvlqlllvvdvsdsslccbscsbbcggldlvvdccdscdsdzsddpggcfggnffpjpnpcncfcqqlvvszzbpbqbcqczcqzcqzqqlrlwwbgglrrbgbhhlbbsffrprtpppdwdhwhbbpssvbvnntbbfnfddmmfcfcjfftbfbdbccngcgjcjtjftjffrwwtwlwddczcnzczpzcpccrqcrczrzcrzzhnntgtqgtgztgzzcpphshwswfwqqnzngzzbpzzpqpzqznzdzmzqqjzzhnhvnnqjnnrdrcctdtppsffzvvwvbbpttsrsspsddfvvfllrtlljpjlplcctthbbgbqgbgmmpwpvvghvhfhwfwcwvwrvwrvvcgccdncddbmbmfmlffgqggrzgzhhzfzdfzfhhzdhzhjzjhhbffrtrjtthssbpspddpttrggdndsnnjwwzrwrvvmqvmvdvhvjvnnqmmhrhrzzzwttnftfddsdfsfjsjcccvhvgvgzvgzvzbvvhwhbbpccfjfllgmlggtbggdsgsmmmnznqnhqhrqhrrtthwhqqvzqvvvqgqffpvptvpvwvbvsscsnnhlnhhzrzjrjrllcffpqpbpsbbflblppqffbqqpttccdgcgdgfdfgdgjddjljpljppdspddflftllhchmcmwcwddrqqsdsswwmwwwjdjvdvwwcgcddmhhqtqvqmvvnffqppnvpphpnnshsmhmdhmdddlnlmnmsnnpttlfttnqnhqnqrnrddplplbpbdpdhppccbnbwwpwzwgwdgdnggcmmtnmnznmzmwmrmtrrjppjgjmggndgnnjzzrczzftztzgzvgvddgmdgmgpmmgjmmnrrmvmnvvhqqggsnnplnlnbbrcbbpphssnqsnspnncfchhvjjdjvjfjddbjbddhlllpdnrhtzhqpphzfbjclncdlrbtzhcwslpnstdvjslnzfrvfdlmpgpfhrqtjvqvjlqgdcjrbjtjrgvbfwjzsvrbmffnhvjqnshvdjbgwmpwlfjznngzpqbvlztnvgvjsnwvhpfwbhfsmjgwwjdrrwbtvpwtzvjfhwrmnrhdsvgpgdsfgndmffqfplsgjrsvztzlznqsrbldbmmhqmjtrzscrbwlpgztlrvllprnhzsvtnvwzmjwqhqpjqhntcrscwcdnwzpvbdczzcmzrmdwthdtszqzftcsfbwfqggpcntfrgwpmjpdzjnczwcjmdjnrqjfwqbznznmcdvzqlpqschnmcfqjjrjwfmqqftfdhdzffvshqbmrgrpvlgqcgsbsngttvcpjswdgrhbblrhjllfbzngqjzzbdwtnlnrbpftvwbmrhvcnntdrbvtrtpcsqdsrvpsgggfpwcbzhwhwmmmmmgjzgdtwnzjdwjfljghbjvjnsgshmdpztnbbrnwfvzhtzqpzttftdmcmqzlnrgncwwtpwqrgmpmwwchwhbbbblcndbsrrqtnztcmqhvdwfcswnswvhqdtqfdrhjgczqvrzqczmnpcgbwntjvlsfrzrrjtsvfzfmbwwsftwqvttpjvbggrlcspnfhwwmrhdbbhdcjvmrhppvcmtmfhszjlcjjsdqfvjttcmffwzfpmjmjzhcrqmhhwzhjlnwphvvhmrbllsvpjljthjndffrdbmdjncnmdtcwfwjdwnrdlvqsbzczlhwrtpnzfwzzwbrqpglgvrjsnsprvwszmlrjcdgzwchmcqrjdlzqfvqwwfszpptprhcfsdfcrnhvhgvcdwgnqzjtmgznltbjjqwzlljrqcmpdncshzvsmvjwlmvtwbtjcgmqfslvwcfqpljzdjmdvqjlztbsbshcwhlvzcmzljvrrhrbzwvthgtnszpcrrdwcmtdncdzlbdscfbhrlqttcfshqrsgvzhlcnvfhppdqvblsznmctftmnslwgbmbgshgwvmzpdnmqmjgqnvrwprmbzrdprrbcwnslczvzgnssjqqzdrlntrnsrgbjjcpqvnqwvnwgslchqzbphcqsbvgvwzlnsndfrhqjvtlnqpcsgswzfvhjmfgwgfvhjgzntdbztmjsbmtwlfmvvgvztvwwmqclcgctqbvljgfngcvfqlmmvqmbtrnnbhqjjndzqhvvdztjgvwgrtltfrlzrjcpgwvpqwmcwmqccjtjhhbrrqphlpljvhjzpdfcdsgzfpnzdzhfdqjsnrvmwstrmmwmlhbvrjbtnmvwcqnzqzzpwzjdnfhqwwlsvgnnjgffzcnrtbjfwllnrgppchqwnfpwpgnfbvwcbjrlscnwlswjmnrcrhtdhgpzvgtfcqzgqtwvlhrgbmjvvzhrlzfvmrdjjctvfwsgmjwbqslhmjlcvlwrdqfmbhcfrmrvqtslplwpsgrfmntmtvmvqttbspmftgqdzlcfplcvvfmmjttwqjpdtjzzsfjcprvbwdvfrpzddhwrlmsnpjzqgdlfdzvdjnjtgtfflzzvjlmnnvmglrptsnppwscznltcvzfjmwshnsqsvsjpqwsqlbwzslhgrdcbbvcjspqfntbcpwwrphgpmwbpqdcfvvtlsgpfshtcrdftsltwnbnmzfwcwlmrhlntmmnnpsdchvntcwbnmjdgwcmzzvbrhbdbmlgwppzwsqvcccdbfzfsfhtmbppnwbtjvrvjtmddhmrjdqgnmrnjjpqsgtbgcvtclzzstlpldtqbnnvqjfbjcfzblvcwhjphzcgwfljjhzzmwdcrzsssznztcwpjlbcffnlmsfjbmtvhhcljmtqdprdmdgwgpnnlmhgwpsgprfqnspmntrdjwjmrflsbfpqhzswbsrdbdhjmvtwmjjnmpllgfllzgwwmswjcmggbrvsbbhjmsdzzpbhbrlphwdsmjdzsqjfrmdmpljnwscjrhdvzqbhhvpmhwqfrrhzlncrrrzhmjdwqjcbsqjbhbdbjzpslrnnbzctnnlhqmqqbdzfbrpfgwsrdglnplpspnnqhtbhzhzgtchcbqcmmcmvlllczqbtmbstzmnlhhhbmmbtjwnbgwjbfhgvfhqlsgdnnrsgghjzjlqfwbbgztdqzbhhwhcwtjwsgstjpzcjjvqbpfpvlqfqshvfzbwmfcwfgqvgmbppfvzgzznzhsqbvzlztsnmnrbgqzbmbhlvqhfncdfcpttgzpvvzdbhvqdtqsblqvrsrnmsfbqhrpvlzffdzptzghvmbmdzjrsqzhqddqm \ No newline at end of file diff --git a/2022/day7/day7.py b/2022/day7/day7.py deleted file mode 100644 index 16225b2..0000000 --- a/2022/day7/day7.py +++ /dev/null @@ -1,25 +0,0 @@ -def main(): - directory_contents = {} - with open('input.txt', 'r') as f: - input_lines = f.readlines() - - line_index = 0 - while line_index < len(input_lines): - if input_lines[line_index].startswith('$ cd'): - if input_lines[line_index][5:] not in ['..', '/']: - directory_contents[input_lines[line_index][5:]] = [] - line_index += 1 - continue - elif input_lines[line_index].startswith('$ ls'): - line_index += 1 - while not input_lines[line_index].startswith('$'): - ... - - -def current_dir_size(dir: str) -> int: - ... - - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/2022/day7/input.txt b/2022/day7/input.txt deleted file mode 100644 index e60b95e..0000000 --- a/2022/day7/input.txt +++ /dev/null @@ -1,1087 +0,0 @@ -$ cd / -$ ls -dir fwbjchs -dir hmnpr -dir jtrbrcjl -dir lcgv -dir ldqc -dir vrvl -$ cd fwbjchs -$ ls -154619 wqdlv.mdw -21648 wvbnz -$ cd .. -$ cd hmnpr -$ ls -178623 rftqqsrp.bfm -$ cd .. -$ cd jtrbrcjl -$ ls -dir nmbfwc -dir whqb -$ cd nmbfwc -$ ls -242645 lcgv -256365 wdzw.drg -$ cd .. -$ cd whqb -$ ls -161522 mrqgpv.gsm -48062 vpsgcl.gfh -$ cd .. -$ cd .. -$ cd lcgv -$ ls -dir cthtlwds -dir grldv -dir lnztfr -dir vwhf -dir znmzg -$ cd cthtlwds -$ ls -dir dghvw -dir tfwgg -$ cd dghvw -$ ls -107090 jmj.lzh -$ cd .. -$ cd tfwgg -$ ls -dir ddnfmsjc -252616 fvj -dir gng -dir lcgv -234528 mpb -181198 pzqgf.cjd -dir svvz -$ cd ddnfmsjc -$ ls -dir hwmcsdvt -dir lcgv -$ cd hwmcsdvt -$ ls -208912 wdzw.drg -$ cd .. -$ cd lcgv -$ ls -47252 tnd.ztd -$ cd .. -$ cd .. -$ cd gng -$ ls -44313 pzqgf.cjd -$ cd .. -$ cd lcgv -$ ls -182616 wdzw.drg -$ cd .. -$ cd svvz -$ ls -86968 sqtggfv -33927 vfmltgs -$ cd .. -$ cd .. -$ cd .. -$ cd grldv -$ ls -145761 mrqgpv.gsm -dir wqdlv -$ cd wqdlv -$ ls -96902 jhmsp -157064 mrqgpv.gsm -$ cd .. -$ cd .. -$ cd lnztfr -$ ls -137978 bpq -180941 fvpfmwn -148685 hsg.qgj -865 mrqgpv.gsm -$ cd .. -$ cd vwhf -$ ls -dir bgtgqzz -dir fcwzw -dir lcgv -dir mrlvtb -116134 mrqgpv.gsm -dir wszvqd -$ cd bgtgqzz -$ ls -dir dzpjg -283411 nmbfwc -dir smhhzq -240602 ttlbcssq -$ cd dzpjg -$ ls -75545 cmfw.gsj -189219 lcgv.chq -255580 lqndrsh.szf -175733 mrqgpv.gsm -$ cd .. -$ cd smhhzq -$ ls -137259 thjwcz.qhn -$ cd .. -$ cd .. -$ cd fcwzw -$ ls -59717 tpljg -$ cd .. -$ cd lcgv -$ ls -148881 mrzcdzd.gjt -68671 pzqgf.cjd -242866 slpftp -89945 vpsgcl.gfh -196497 wdzw.drg -$ cd .. -$ cd mrlvtb -$ ls -40003 rfzrwc.zjn -$ cd .. -$ cd wszvqd -$ ls -dir bhhtbv -dir lcpvwdq -$ cd bhhtbv -$ ls -dir fbh -248604 ldscpjmp -dir nmbfwc -$ cd fbh -$ ls -256295 vpsgcl.gfh -$ cd .. -$ cd nmbfwc -$ ls -83799 lcgv.vfc -$ cd .. -$ cd .. -$ cd lcpvwdq -$ ls -dir lwhq -212569 rfzrwc.clp -23957 wdzw.drg -$ cd lwhq -$ ls -240867 fzrwpl.hqd -68771 mzsqgswh -88777 pqtqv.qwz -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd znmzg -$ ls -30277 gltpwzg.gjd -211983 wdzw.drg -$ cd .. -$ cd .. -$ cd ldqc -$ ls -dir dnzfqzwv -dir dvshtm -97119 gdnlwmbf -dir gqb -dir jclb -dir jgbsw -115989 lcgv.hlf -255836 lchqqdh.wrn -dir qtdlb -dir rmljszcj -dir tqwpmw -dir vhdgcsw -$ cd dnzfqzwv -$ ls -dir tqv -$ cd tqv -$ ls -139984 dwhz.nhz -240411 pzqgf.cjd -129386 rnnr -190691 svgwt.mql -$ cd .. -$ cd .. -$ cd dvshtm -$ ls -dir lcgv -96767 mrqgpv.gsm -dir qdmmpq -$ cd lcgv -$ ls -82949 bldf.hwn -$ cd .. -$ cd qdmmpq -$ ls -dir lzgwflt -dir vgrdpbg -$ cd lzgwflt -$ ls -148651 tndbwbh -$ cd .. -$ cd vgrdpbg -$ ls -dir wqdlv -$ cd wqdlv -$ ls -130393 rqjc.dnr -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd gqb -$ ls -dir jtf -dir lvwpqs -212592 mrzcdzd.gjt -70051 tqpwdwm.nzz -dir vznbng -52226 wbsdrsfh.tfw -$ cd jtf -$ ls -232635 lvpccb.dmm -105086 wdzw.drg -$ cd .. -$ cd lvwpqs -$ ls -124821 dmhqlt -265915 mrqgpv.gsm -45481 pzqgf.cjd -$ cd .. -$ cd vznbng -$ ls -42179 nrzcpgvl.jft -17752 tld.ghn -174859 zvqglbw.ppl -$ cd .. -$ cd .. -$ cd jclb -$ ls -dir bnz -dir dtmtvbw -dir hnlrtpbz -dir pbb -dir vhjwtq -dir vpfggv -dir zmflq -$ cd bnz -$ ls -199447 mrzcdzd.gjt -$ cd .. -$ cd dtmtvbw -$ ls -dir bjthn -dir hzlhz -dir zmflq -$ cd bjthn -$ ls -272777 pgqfn.tdd -$ cd .. -$ cd hzlhz -$ ls -50958 lcgv.gvq -$ cd .. -$ cd zmflq -$ ls -207442 rrnwns.zpf -15759 wdzw.drg -$ cd .. -$ cd .. -$ cd hnlrtpbz -$ ls -69788 jhqjs.sdj -219666 jljzp.mhf -137518 jqnfg -108183 shfjz.vnr -130164 vpsgcl.gfh -$ cd .. -$ cd pbb -$ ls -dir wqdlv -dir zmflq -$ cd wqdlv -$ ls -dir fgggwt -dir hrghbhj -dir nmbfwc -dir tgmqnq -146479 vpsgcl.gfh -dir wqdlv -$ cd fgggwt -$ ls -264892 wqdlv.zsp -$ cd .. -$ cd hrghbhj -$ ls -116698 bfwtbg -dir lcgv -92758 pzqgf.cjd -dir tsdjgt -284427 vpsgcl.gfh -229621 wqdlv.pml -dir zfjjncvd -$ cd lcgv -$ ls -30459 mrzcdzd.gjt -dir wqdlv -$ cd wqdlv -$ ls -78475 wdzw.drg -$ cd .. -$ cd .. -$ cd tsdjgt -$ ls -166330 jpfms -16410 tjswm.bqv -$ cd .. -$ cd zfjjncvd -$ ls -59841 mrqgpv.gsm -$ cd .. -$ cd .. -$ cd nmbfwc -$ ls -dir jtn -151403 mmjm -240129 mmsb -206021 nmbfwc.sds -84439 vpsgcl.gfh -dir wqdlv -dir zvnrwfhn -$ cd jtn -$ ls -23555 hmmt.gbb -$ cd .. -$ cd wqdlv -$ ls -69742 jppj.vvg -$ cd .. -$ cd zvnrwfhn -$ ls -242009 lcgv.bds -$ cd .. -$ cd .. -$ cd tgmqnq -$ ls -259985 bzqjt -46410 flsm.szr -dir lcgv -89561 npfmc.vqs -17503 vpsgcl.gfh -73719 wqdlv.gjn -$ cd lcgv -$ ls -dir dzfglmz -177553 ffvzsgz -dir ljt -216443 mrzcdzd.gjt -255381 nmbfwc -dir rplqnt -84061 zmflq.vlw -$ cd dzfglmz -$ ls -220883 dqbcfgfd -$ cd .. -$ cd ljt -$ ls -11842 rfzrwc.hpn -$ cd .. -$ cd rplqnt -$ ls -119893 lszmvzst.zng -$ cd .. -$ cd .. -$ cd .. -$ cd wqdlv -$ ls -dir chnpddzn -272999 hbhwqt.fsl -144546 jvhjnsz -dir ppsm -102615 pzqgf.cjd -dir swdnss -$ cd chnpddzn -$ ls -256977 pzqgf.cjd -dir wqdlv -$ cd wqdlv -$ ls -6565 hlcqgmj -$ cd .. -$ cd .. -$ cd ppsm -$ ls -238358 fvw.bzw -dir ggjnl -265010 mrzcdzd.gjt -201818 rfzrwc -dir ssggblm -$ cd ggjnl -$ ls -45841 nlnrrqf.fwn -$ cd .. -$ cd ssggblm -$ ls -276584 djqb.ngq -18926 lcgv -$ cd .. -$ cd .. -$ cd swdnss -$ ls -dir bmrzhjs -$ cd bmrzhjs -$ ls -269825 mrqgpv.gsm -3162 rdmbdwq.bmv -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd zmflq -$ ls -dir hnrnldw -dir lcgv -dir mpmcghz -dir nbbv -dir qsnfzp -dir tntnjg -dir wqdlv -$ cd hnrnldw -$ ls -102631 wjbbjwtm.vvz -$ cd .. -$ cd lcgv -$ ls -dir dzz -dir hbzzf -dir jncrbhc -205204 lqnrp -dir mzzpfnr -dir nmbfwc -dir rfzrwc -dir rnrmhfz -dir zmflq -$ cd dzz -$ ls -dir cvvdv -226221 nggtqdzn -94641 npmpjnjm.bzg -dir rsdw -dir sjrb -41983 vfdz.ngz -271561 zmflq.zsc -$ cd cvvdv -$ ls -64260 hhqv.tsg -31245 pzqgf.cjd -280268 znjjp -$ cd .. -$ cd rsdw -$ ls -dir lcgv -$ cd lcgv -$ ls -37080 nmbfwc -$ cd .. -$ cd .. -$ cd sjrb -$ ls -233530 mrqgpv.gsm -$ cd .. -$ cd .. -$ cd hbzzf -$ ls -36018 mrqgpv.gsm -$ cd .. -$ cd jncrbhc -$ ls -205345 mrqgpv.gsm -244683 nqpcpt -$ cd .. -$ cd mzzpfnr -$ ls -dir hmjzlr -dir lcgv -dir mczs -dir wqdlv -90391 wqdlv.pdr -144119 zmflq -$ cd hmjzlr -$ ls -268342 svsd.jcd -$ cd .. -$ cd lcgv -$ ls -dir pwhl -dir rfzrwc -$ cd pwhl -$ ls -42795 gvmt -82576 wdzw.drg -$ cd .. -$ cd rfzrwc -$ ls -dir jjl -dir mqp -156985 mrqgpv.gsm -dir wptr -dir wqdlv -$ cd jjl -$ ls -dir jrjjr -104785 nmbfwc -20108 wdzw.drg -$ cd jrjjr -$ ls -243753 hgndlcrv.wbc -$ cd .. -$ cd .. -$ cd mqp -$ ls -142621 cljnbs -$ cd .. -$ cd wptr -$ ls -46279 vjqlvhrh.njr -$ cd .. -$ cd wqdlv -$ ls -104474 vpsgcl.gfh -$ cd .. -$ cd .. -$ cd .. -$ cd mczs -$ ls -186843 mrqgpv.gsm -dir pjm -dir thbwb -$ cd pjm -$ ls -dir wqdlv -$ cd wqdlv -$ ls -201647 sgtt -$ cd .. -$ cd .. -$ cd thbwb -$ ls -146494 mrqgpv.gsm -$ cd .. -$ cd .. -$ cd wqdlv -$ ls -103876 mrqgpv.gsm -$ cd .. -$ cd .. -$ cd nmbfwc -$ ls -dir fgctdds -dir rwgscjbv -$ cd fgctdds -$ ls -205015 bwvshdcz.dpp -$ cd .. -$ cd rwgscjbv -$ ls -242899 rbmtfdhp -$ cd .. -$ cd .. -$ cd rfzrwc -$ ls -dir bnsgzwhn -228624 ffj -dir lcgv -dir rcvwcbfd -268775 vbhsh.nnz -129373 vpsgcl.gfh -68919 wqdlv -dir wqmdw -dir zmflq -153277 zmflq.frv -$ cd bnsgzwhn -$ ls -9892 ltcrrzhb.njc -dir wpwmflr -dir zmflq -$ cd wpwmflr -$ ls -274142 bfj.fbw -dir rfzrwc -dir srnm -$ cd rfzrwc -$ ls -161517 mrqgpv.gsm -dir zbhgwsd -$ cd zbhgwsd -$ ls -43750 vbqmpbcr.zwz -$ cd .. -$ cd .. -$ cd srnm -$ ls -dir rvvtgr -$ cd rvvtgr -$ ls -164604 wzgbzbn -$ cd .. -$ cd .. -$ cd .. -$ cd zmflq -$ ls -184482 mrqgpv.gsm -80280 pzqgf.cjd -183303 zln.tbm -$ cd .. -$ cd .. -$ cd lcgv -$ ls -dir lcgv -dir pqttlp -$ cd lcgv -$ ls -dir bpjzg -$ cd bpjzg -$ ls -99853 wdzw.drg -$ cd .. -$ cd .. -$ cd pqttlp -$ ls -dir bgvhcgfn -45115 mrzcdzd.gjt -248058 qnvhgpw.ddw -112129 rfzrwc -$ cd bgvhcgfn -$ ls -228291 nmbfwc.gqj -$ cd .. -$ cd .. -$ cd .. -$ cd rcvwcbfd -$ ls -dir vtrtt -dir wgp -$ cd vtrtt -$ ls -138009 pzqgf.cjd -dir ztsvzpn -$ cd ztsvzpn -$ ls -51632 vpsgcl.gfh -$ cd .. -$ cd .. -$ cd wgp -$ ls -81030 lcgv.zhv -$ cd .. -$ cd .. -$ cd wqmdw -$ ls -dir zmrdf -$ cd zmrdf -$ ls -dir qqgw -$ cd qqgw -$ ls -58554 gqpqvplc.zvr -$ cd .. -$ cd .. -$ cd .. -$ cd zmflq -$ ls -224544 mrzcdzd.gjt -254976 pzqgf.cjd -$ cd .. -$ cd .. -$ cd rnrmhfz -$ ls -19759 lcgv.stz -$ cd .. -$ cd zmflq -$ ls -22390 nftzlqg.qmp -80148 wqdlv -$ cd .. -$ cd .. -$ cd mpmcghz -$ ls -169324 mrqgpv.gsm -65924 wdzw.drg -$ cd .. -$ cd nbbv -$ ls -115297 bqcrc.prw -58148 pvzv.qwf -dir wqdlv -$ cd wqdlv -$ ls -145268 mrzcdzd.gjt -35745 nmbfwc.hgv -112142 wqdlv -$ cd .. -$ cd .. -$ cd qsnfzp -$ ls -241308 nmbfwc.hmg -$ cd .. -$ cd tntnjg -$ ls -19543 mrqgpv.gsm -667 wqdlv -$ cd .. -$ cd wqdlv -$ ls -dir dqpgtmdl -dir jrqsqrv -189727 mrzcdzd.gjt -dir rfzrwc -208280 vpsgcl.gfh -281557 vwsljgn.mwd -119829 zmflq.hgd -$ cd dqpgtmdl -$ ls -268413 qcw.slb -$ cd .. -$ cd jrqsqrv -$ ls -238387 mvllmjc.wvm -213020 nqp.gdr -157257 nzdmplg.zqh -dir ppwcgc -24914 pzqgf.cjd -dir zjr -dir zmflq -$ cd ppwcgc -$ ls -249714 bsrnnhrr.spq -dir cvnd -$ cd cvnd -$ ls -248610 pzqgf.cjd -$ cd .. -$ cd .. -$ cd zjr -$ ls -224145 smwb.mmz -$ cd .. -$ cd zmflq -$ ls -250519 ftggp -147304 vpsgcl.gfh -238706 wdzw.drg -258323 wqdlv.bjp -dir wqgngf -$ cd wqgngf -$ ls -14302 bdz.jdw -dir jpgfsgd -dir ldwgr -22718 nwfh.nzf -$ cd jpgfsgd -$ ls -dir lcgv -dir qbrwz -$ cd lcgv -$ ls -284229 qhwc.zpq -dir wsjs -$ cd wsjs -$ ls -111635 lcgv -$ cd .. -$ cd .. -$ cd qbrwz -$ ls -199057 gpssftw.wdb -$ cd .. -$ cd .. -$ cd ldwgr -$ ls -260404 gdnpg.vjb -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd rfzrwc -$ ls -dir lmcg -$ cd lmcg -$ ls -32819 sjjztgr.rfj -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd vhjwtq -$ ls -dir qgqbrv -$ cd qgqbrv -$ ls -176900 gwbnqtn.rnj -$ cd .. -$ cd .. -$ cd vpfggv -$ ls -144809 cmc.srv -117565 nhddq.bqn -dir scw -dir tpmnhdc -dir vvp -71774 wqdlv.gdm -61647 zmflq -174026 zmflq.wzn -$ cd scw -$ ls -2295 bqbsrj.gnc -243386 mfmdqhh.mzl -$ cd .. -$ cd tpmnhdc -$ ls -dir fjwr -dir lcllz -dir nmbfwc -$ cd fjwr -$ ls -133256 pwgtqz.dpm -159987 vpsgcl.gfh -$ cd .. -$ cd lcllz -$ ls -dir flwws -210654 qmbfw.bsv -dir zmflq -$ cd flwws -$ ls -222222 nmbfwc.vhj -$ cd .. -$ cd zmflq -$ ls -235011 jlzfbt.wlb -49525 rfzrwc.fnc -$ cd .. -$ cd .. -$ cd nmbfwc -$ ls -133730 dqdqhvm -dir lcgv -188291 nmbfwc.qhv -110039 wdzw.drg -249996 wqdlv -dir zmflq -dir zppcvq -$ cd lcgv -$ ls -dir wths -$ cd wths -$ ls -120313 jdbtlf.rrn -$ cd .. -$ cd .. -$ cd zmflq -$ ls -124906 dqdcpzh -$ cd .. -$ cd zppcvq -$ ls -112537 mrzcdzd.gjt -$ cd .. -$ cd .. -$ cd .. -$ cd vvp -$ ls -dir fsw -194927 hvlm.pbd -dir nmbfwc -230376 pgsq -$ cd fsw -$ ls -111889 nmbfwc.smt -dir rfzrwc -$ cd rfzrwc -$ ls -282718 gbvss -$ cd .. -$ cd .. -$ cd nmbfwc -$ ls -dir fvh -160971 ngqvztv.hfg -dir rfzrwc -$ cd fvh -$ ls -256956 mrqgpv.gsm -14363 vbvsncs.jjw -172959 wdzw.drg -$ cd .. -$ cd rfzrwc -$ ls -257264 vpsgcl.gfh -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd zmflq -$ ls -10486 lbdtpnps.jhq -118145 rlgjvn.nvf -176390 wdzw.drg -$ cd .. -$ cd .. -$ cd jgbsw -$ ls -dir cfdljgh -214846 dwqdqv.ftq -dir rfzrwc -147094 vpsgcl.gfh -$ cd cfdljgh -$ ls -261471 mrqgpv.gsm -$ cd .. -$ cd rfzrwc -$ ls -dir fcvfw -dir gvqrwgrs -57417 zfqrqv.fvp -$ cd fcvfw -$ ls -279614 wdzw.drg -$ cd .. -$ cd gvqrwgrs -$ ls -dir sgfltf -$ cd sgfltf -$ ls -204207 mstlc.wtj -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd qtdlb -$ ls -dir gjpmcvwp -dir nsjlcmfz -dir wqdlv -$ cd gjpmcvwp -$ ls -dir cjjdzcwm -$ cd cjjdzcwm -$ ls -233873 pdnsrz.vfp -$ cd .. -$ cd .. -$ cd nsjlcmfz -$ ls -53472 nmbfwc -dir qvpj -$ cd qvpj -$ ls -150929 mrzcdzd.gjt -$ cd .. -$ cd .. -$ cd wqdlv -$ ls -dir qccsnjd -$ cd qccsnjd -$ ls -65908 hsrqhn.hjr -267802 zmflq.jdt -$ cd .. -$ cd .. -$ cd .. -$ cd rmljszcj -$ ls -dir jnstrbj -172566 nbtszsgl -dir wqdlv -$ cd jnstrbj -$ ls -232158 fgccmchh.wqg -236339 mrqgpv.gsm -281875 rfzrwc.sfd -$ cd .. -$ cd wqdlv -$ ls -58492 wdzw.drg -213853 wqdlv.zlz -$ cd .. -$ cd .. -$ cd tqwpmw -$ ls -92747 pzqgf.cjd -$ cd .. -$ cd vhdgcsw -$ ls -125104 crfw.sfv -dir flhbhzlt -139949 mrqgpv.gsm -dir rfzrwc -dir rnz -97174 zmflq.vpn -$ cd flhbhzlt -$ ls -282258 mrzcdzd.gjt -$ cd .. -$ cd rfzrwc -$ ls -dir lcgv -$ cd lcgv -$ ls -dir dlpng -dir glqrj -178245 lcgv -106863 nmbfwc.fgr -$ cd dlpng -$ ls -195950 rfzrwc -$ cd .. -$ cd glqrj -$ ls -248909 pzqgf.cjd -34214 vpsgcl.gfh -$ cd .. -$ cd .. -$ cd .. -$ cd rnz -$ ls -dir chfccv -dir cmsccq -dir zmflq -$ cd chfccv -$ ls -13688 mrqgpv.gsm -162142 vpsgcl.gfh -$ cd .. -$ cd cmsccq -$ ls -94122 dzpsltth -190025 rfzrwc -dir twqt -12230 wgghbcz.tph -60111 wqdlv -$ cd twqt -$ ls -109250 wdzw.drg -$ cd .. -$ cd .. -$ cd zmflq -$ ls -174075 wdzw.drg -$ cd .. -$ cd .. -$ cd .. -$ cd .. -$ cd vrvl -$ ls -dir pnfv -210089 rfzrwc -dir stcfmz -$ cd pnfv -$ ls -183315 rhmztnnh -$ cd .. -$ cd stcfmz -$ ls -115637 lcgv \ No newline at end of file diff --git a/2022/day8/__pycache__/load_map.cpython-311.pyc b/2022/day8/__pycache__/load_map.cpython-311.pyc deleted file mode 100644 index 29e1c6ac9e1360bc0539151d6bb4dc6271b7f3e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1185 zcma)5-)qxQ6h1dU+H|JO&gv$EZnEuRLYKBB(~1CWA>C=a7Lo8|5_HxRP|giO9CT)x%G0y3 zObE;Z!6yY4Ws+K3soe;PL~o(uPFvNY4ZjyR0v`l*VbN|&P_8jtAVtl=8Q2TZ`edT zB3+|?o5`xOVl$d7N;a#jnY3ZEny92?o6casC#o2iY&xwNqduD~*u0usUCqdIZY!HJ zG+CZo6jhteq!n4WN!ljQbswI4(6ys!;aPT37L2r*%4#V=lhv#)h|-d*7}4xPbUrJ| z(L^kf5F~L$Pe$W0hfE5YtSC8s$J7;@YdKmN`#LwS_aGKvKM*XwsE*eI1C78y69_w4 zi|_UJZ7jW8D(5TtBHyHO&keZn%Srj|fVX!VJ3Kr*ZM*4%D?^2QKlr}yeB>J+sTy^D zxWNw>?(7G9*2hb^@>FH29*i`CktWb=+=U|9Rf+=>)+-2_d}P~_3A_| z^nS8zRjhhwq!AiH#Q>Hd6sPz2aOvUN{bQLAdTnAmv^lvwy?MPpAT$PqIv;EBv0eAY zPsB1G@ZrJ(oyXafFDB^EOw#{_B>gk^e>0i1ZfH)#9p5K7KnmIggd^_8Vphs! list[int]: - column: list[int] = [] - for i in range(end_i): - for j in range(len(lst[i])): - if j == column_id: - column.append(lst[i][j]) - return column - - -def get_column_from_i(lst: list[list[int]], column_id: int, begin_i: int) -> list[int]: - column: list[int] = [] - for i in range(begin_i, len(lst)): - for j in range(len(lst[i])): - if j == column_id: - column.append(lst[i][j]) - return column - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/2022/day8/day8_part2.py b/2022/day8/day8_part2.py deleted file mode 100644 index 96c670e..0000000 --- a/2022/day8/day8_part2.py +++ /dev/null @@ -1,47 +0,0 @@ -import load_map - - -def main(): - tree_map = load_map.load_map() - - highest_score = 0 - - for i in range(len(tree_map)): - for j in range(len(tree_map[i])): - if i == 0 or j == 0: - continue - current_tree = tree_map[i][j] - current_tree_score = 1 - direction_count = 0 - for k in range(i-1, -1, -1): - direction_count += 1 - if tree_map[k][j] >= current_tree: - break - current_tree_score *= direction_count - direction_count = 0 - for k in range(j-1, -1, -1): - direction_count += 1 - if tree_map[i][k] >= current_tree: - break - current_tree_score *= direction_count - direction_count = 0 - for k in range(i+1, len(tree_map)): - direction_count += 1 - if tree_map[k][j] >= current_tree: - break - current_tree_score *= direction_count - direction_count = 0 - for k in range(j+1, len(tree_map[i])): - direction_count += 1 - if tree_map[i][k] >= current_tree: - break - current_tree_score *= direction_count - - if current_tree_score > highest_score: - highest_score = current_tree_score - - print(f"Highest score: {highest_score}") - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/2022/day8/input.txt b/2022/day8/input.txt deleted file mode 100644 index f9dbafd..0000000 --- a/2022/day8/input.txt +++ /dev/null @@ -1,99 +0,0 @@ -131210223122034201100050105424523044130411422315401641602244345313413050154142511210232230010113310 -311013023144242433041451004544121455454620031355066511426335055503430442412031400134421222323200231 -000000231023234100542524312250523355415365261251616530425625664621215121033040340113311421124403120 -112300444001303041405153523535126435661025243650554326352462442340031244522333142343310234422042101 -011212224431121423533535502254210263641435632425025530513616353113250430340323201235001322302202112 -202112313203021131220031503364123020251021060003210224226552235425544614111231232422312141400320413 -200444200302403233024104523503202601044223254222154626546510545561110210263213430521241312421430303 -004102313211311304304014024303123532011445320262467355722501012602644242025103522053013251103111002 -304431411242103200225521661431265142636476475774766762762162363612154012423154144521032044323220414 -431010040140112455335030032360262556456443775453334565671317716550430136651202313511214502241202330 -043110240102454224516544224630616266622151633641416574141573472553733643035156556442540112231022330 -344001014540504225063305264264244355672617755344543332512133532145451255143634431525512440433123411 -113143353104203351103602240424523453451134364517415112721516225167142625124311653430211020140140033 -342424105441510440330522410035715716774467613477463165551222537127247464353412121551250032130221402 -410022504110015140563646535637544514224772163251875687177773617131666312426516653364620212210230313 -211041303415212543246450027775344644111513854625668347224721545553312454276112266113006550101452023 -122004120501250326115204667575557541115833886847258462846234567626374111773571244513654010011342043 -301350253554662030333624245656331336684563833452867366254385562353677252735134322645443400000505332 -245553522153032254411763514675764155633476526675325578425443428557445775637465473664541400534333232 -322442130433125464663414766715267753434324555463784727253433653632683735371446657522664436422521413 -331053445014305402543221122137356667287622582365352535357653444332458554753476126241266505611211314 -132305431204423645643332442378265875383382785757384646688636277356473225215656144464631013404513545 -053434505352362212362322254526384368455578549563664455533528348238256867477226167554313140041401143 -203253201234236243775741122764852566323853963388779975599397567878847548722235622474163122662031025 -104312526333250166615172668583238338723855457693768963653558894638325372838152126473716643303600351 -300033325433641325623235156626436335535335388847464645964634799646746246766834574361166125456122351 -120451143220054517417432222372537276354686677646995668437869779369928258788534513761754512104013333 -533230405632016226763328844653255879987575353774339563955877645966846826356373371671142605624114450 -344214406630075321522734573335883369387497369848437466643758736756744863635423414516662160242011015 -153451326406137727666257774235355975796748378956899755978495944398847342278543532717554136340636511 -024120564062654627732368525228793638475545556576899665765756673653534943354538526752326643260141204 -412203404021155532277533544576338345978848669679757658576464434458866475384364264335343563643142455 -524002156645642574176682747734737558688944465667846776898785795455858947565382387667331113015066451 -113326321336515741227873667767747863748957949856994566445966947557698763647356484312144362112035661 -434431122332456363585644236338986386449886459969898794477784876859584934744448487422233247433555125 -554200316641747712525646475695585944855767864476587785657648489858488643964822385635771521136623046 -052645555643364326224256887465763984499555456786655996459854588687984483443425342327437117204051333 -324343644132162478234438235893544695988896887697765955598567945698759463346462838746232654576440215 -462521542732624633374484345633767949856985955975898956868594588984946798839592836667471162150441636 -304026636645461478734587878689834446685557768558895888866986985488496437548446368538251171154630512 -101552533162346275323229586354898455686576855758557778659698597964984437888644223388226555216163411 -226105531714231626224846935734356584745868996975697659897867984899744976774696753265736467266365363 -545055625455625875447559864667957979647968997958989658678889877465465468549376486535366137522210053 -232635236714655674743537653457749846596956975956766868889657789549747795675485857275755452342405631 -336205405746366588226663467669498957868656755776686987887868569798659876543375846338247764415355462 -155141051431316677636748574867789558675986588998679878868759877859999565576663475662435765647005340 -232654031116753272825747668968554669668677998669769697669576866955596675964889624528726432263222616 -046125447675236746223768668449879754576588858988996889696887777774597744733788336362244612637553514 -332536552224754343576649855595666484566675788668896786768988988769569579999834385254427632624650030 -460234671543372887673258495575749597595556689798666968989999596584956587675793948224673776637134104 -542551244113357255333348985978787695699886688996687688989678979668986898375478542858365611723122044 -436025232763148825472748645398546496988875698898869977888888759686766658866855938347566311743605100 -041352435563335243486289834394558775588869568696989689688668679659674985985749374752633143335411605 -645651613323411838844847964446478646777866888967786698987886597984667558653798334378662326523323316 -453251236357514443523673467349998744667597789678969978697885696567487655374593857785247555435556045 -125626067513221885878857759866589459898567986669876767888879686774468986669574866876872256777244651 -061632634136353483585356796789964457467578899876878869685969688887694989435735523286834312755525066 -340540044551242754354545465975657758685657898679669667967695977988789866474643553377742333237366424 -263036352242131347425624853533685546887657969789867597887875857754448643936644634734681251565046213 -521221014252416228623283758687657746455765599789696566599868586857544488568349257532612223352106620 -551056515565333357773577346794385876469668655769579779597857875875996655775847823478875155335563305 -033061351361131165452262574439975544867848695885675877665879558695985696596744556573716376424303526 -051413453164367157546735796993358565449465886965769896875794786968869649574645557564453516434340036 -522012306661675468522365554866664944774645598595765956997799788597559834845664822564673263773400310 -303552112356652526736235234953975468449454679549576957655985777498534633999648453476132767604136505 -430122433512263557743477259647593668744879856557445598497869544969574539864264546361414462664221411 -454611134331624353887744383937939357467695869797758446748645646757337474547364356834125123550540011 -205311422445771735787735535567487687866565989949866754567798798789335594675342524621173252621030620 -104546314105111141478387738596677754347769889645474649778444486556868546667547447347454232412330210 -211510511334467714212764237753489789395879446757548685444899995947477635333458277512623242566130511 -424514361505346363172223743443943549786984455999479779995888784953977545326775458231326323010233504 -533506406351652124743874362238244995393575576558499944857439678937793742537382237144513564254651535 -353553630060426172733685862388329358887865467969479496565936757634945866336662814247313410506123210 -513043225146416126342738452268474836363669357555484378683836437894548678424787336776674656521041540 -244212015566607562363563332245262634763988943955763374435446957788627758456361246547173556634433112 -120250204244540161453135477576577584679685399997348333875938895345463364665351151547550433420451010 -255032316662364526536463566477643566873988833997886594683996985547474224255612136321352552052105402 -104213510451031021331446321843388442357338856338535749438457984676336446257657625355006562000544113 -541445315342554104332147175678875788872263746578533386785725742286747757363143223363002242403240300 -250054145114114250444475636452277673763367766534832262225326442862356536367112741723425324561325551 -333553132316232331166236712324478868545457256543258752567822364684454281563652476110466630243545012 -105553252451444255251516625337126655486536656548634366772767853646345616517533725655446161145113520 -025500320531252635012635251245524534532874583455824435258654245466851271721413732103556450032134212 -122200331203513436340117775373456645476436746876327282863778274541722364747346544343564664345130314 -441320433033461423032344434231635142515424736857357883276527554723561743647654233055512312302104530 -204042200400054122313353457757245116453332283484837768668273767612521361442530615235236222154004311 -221131430533350565006640022453717233151527675542578563343653736225637243741111121060442013041415121 -143234105412111133566044252147564714332714531116676347152755116543123447451004602504145444453253433 -320324355203321243353463365121412173726252341762654343152225445674136341343221112445214335524423100 -202300215012154413506542142320154422415625511216416742722732625443456234050601116134422203301324102 -101234204150414100204253404415020535764151322156246545763562327134761563456554466111402435010443123 -431241014215100150231323511544033066474456542763733572523364653251210236631153343300102203501444131 -042113314231102110430451540516134616441273312433773513644616643153262013464225504105041102141121134 -011110441120300210525243055356613232510501653115647342112643545365615664665363430033144102220342002 -022302231313301100120453535411263110120014430464665351336004360420564432406415043521343230142324012 -113120323401112034331301531555663250242545635553155553026665545501304141205024555331305404432131422 -012114144232442305005303300503446534353541113202335113010041055013513101112435052423113214420112332 -230302124240141434221315223103536661161244640554266246312142632216301114101010004305311113412410032 -023121121202444024012413530551503240563056005135401560566653254102253143503152511431441042423320132 \ No newline at end of file diff --git a/2022/day8/load_map.py b/2022/day8/load_map.py deleted file mode 100644 index 6cf9fe5..0000000 --- a/2022/day8/load_map.py +++ /dev/null @@ -1,13 +0,0 @@ -def load_map() -> list[list[int]]: - with open('input.txt', 'r') as f: - puzzle_input = f.read() - - tree_map: list[list[int]] = [] - - lines = puzzle_input.split('\n') - for i in range(len(lines)): - tree_map.append([]) - for j in range(len(lines[i])): - tree_map[i].append(int(lines[i][j])) - - return tree_map \ No newline at end of file diff --git a/2022/day9/day9_part1.py b/2022/day9/day9_part1.py deleted file mode 100644 index cd7c2ea..0000000 --- a/2022/day9/day9_part1.py +++ /dev/null @@ -1,99 +0,0 @@ -def main(): - with open('input.txt', 'r') as f: - head_moves = f.readlines() - head_moves = [move.split() for move in head_moves] - - head_pos, tail_pos = [0,0], [0,0] - pos_list = [] - for move in head_moves: - pos_list.append(tuple(tail_pos)) - if move[0] == 'U': - for i in range(int(move[1])): - head_pos[1] += 1 - if validate_pos(head_pos, tail_pos): - pos_list.append(tuple(tail_pos)) - continue - if head_pos[0] == tail_pos[0]: - tail_pos[1] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[0] == tail_pos[0] + 1: - tail_pos[1] += 1 - pos_list.append(tuple(tail_pos)) - tail_pos[0] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[0] == tail_pos[0] - 1: - tail_pos[1] += 1 - pos_list.append(tuple(tail_pos)) - tail_pos[0] -= 1 - pos_list.append(tuple(tail_pos)) - elif move[0] == 'D': - for i in range(int(move[1])): - head_pos[1] -= 1 - if validate_pos(head_pos, tail_pos): - pos_list.append(tuple(tail_pos)) - continue - if head_pos[0] == tail_pos[0]: - tail_pos[1] -= 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[0] == tail_pos[0] + 1: - tail_pos[1] -= 1 - pos_list.append(tuple(tail_pos)) - tail_pos[0] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[0] == tail_pos[0] - 1: - tail_pos[1] -= 1 - pos_list.append(tuple(tail_pos)) - tail_pos[0] -= 1 - pos_list.append(tuple(tail_pos)) - elif move[0] == 'R': - for i in range(int(move[1])): - head_pos[0] += 1 - if validate_pos(head_pos, tail_pos): - pos_list.append(tuple(tail_pos)) - continue - if head_pos[1] == tail_pos[1]: - tail_pos[0] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[1] == tail_pos[1] + 1: - tail_pos[0] += 1 - pos_list.append(tuple(tail_pos)) - tail_pos[1] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[1] == tail_pos[1] - 1: - tail_pos[0] += 1 - pos_list.append(tuple(tail_pos)) - tail_pos[1] -= 1 - pos_list.append(tuple(tail_pos)) - elif move[0] == 'L': - for i in range(int(move[1])): - head_pos[0] -= 1 - if validate_pos(head_pos, tail_pos): - pos_list.append(tuple(tail_pos)) - continue - if head_pos[1] == tail_pos[1]: - tail_pos[0] -= 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[1] == tail_pos[1] + 1: - tail_pos[0] -= 1 - pos_list.append(tuple(tail_pos)) - tail_pos[1] += 1 - pos_list.append(tuple(tail_pos)) - elif head_pos[1] == tail_pos[1] - 1: - tail_pos[0] -= 1 - pos_list.append(tuple(tail_pos)) - tail_pos[1] -= 1 - pos_list.append(tuple(tail_pos)) - - pos_set = set(pos_list) - pos_list = list(pos_set) - print(len(pos_list)) - - #print(f"Repeated positions: {pos_count}") - - -def validate_pos(h: list[int], t: list[int]) -> bool: - return -2 < h[0] - t[0] < 2 and -2 < h[1] - t[1] < 2 - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/2022/day9/input.txt b/2022/day9/input.txt deleted file mode 100644 index d41a63d..0000000 --- a/2022/day9/input.txt +++ /dev/null @@ -1,2000 +0,0 @@ -R 1 -U 2 -R 1 -L 2 -D 2 -U 1 -R 2 -U 1 -L 2 -U 1 -D 2 -R 1 -D 1 -L 1 -U 2 -D 2 -L 2 -D 1 -U 2 -D 2 -L 1 -U 1 -L 2 -D 2 -U 2 -L 1 -U 2 -L 1 -R 2 -U 1 -L 1 -R 2 -D 1 -U 2 -R 1 -U 1 -R 2 -U 1 -R 2 -U 1 -D 1 -U 1 -D 1 -L 2 -D 2 -R 1 -U 1 -R 1 -U 1 -L 1 -U 1 -D 2 -R 2 -D 2 -L 2 -U 2 -R 1 -D 1 -U 1 -D 2 -R 1 -D 2 -L 2 -R 2 -L 1 -U 1 -L 2 -D 2 -L 2 -D 1 -R 1 -L 2 -D 2 -R 1 -L 1 -R 1 -D 1 -R 1 -D 2 -L 2 -U 1 -D 2 -R 2 -D 1 -U 1 -L 1 -D 1 -U 2 -R 1 -U 1 -L 2 -U 1 -L 1 -U 2 -L 2 -D 2 -U 1 -L 1 -U 2 -D 2 -L 2 -D 2 -R 2 -U 2 -L 2 -D 1 -U 1 -R 2 -D 2 -L 2 -R 2 -D 2 -L 1 -D 1 -U 2 -R 2 -D 3 -R 1 -U 3 -L 3 -D 2 -R 1 -D 1 -L 2 -D 1 -R 2 -U 3 -L 2 -U 2 -R 3 -U 3 -L 1 -D 3 -R 3 -U 2 -R 3 -U 3 -L 1 -D 3 -R 3 -L 2 -R 2 -L 3 -D 3 -R 2 -D 2 -R 2 -D 1 -R 1 -L 1 -D 2 -R 1 -D 2 -U 1 -R 2 -L 2 -R 2 -U 2 -R 2 -D 1 -U 1 -D 1 -L 3 -U 3 -D 3 -L 1 -U 2 -R 2 -U 2 -R 1 -U 1 -L 2 -U 2 -R 3 -U 1 -D 3 -R 3 -U 2 -R 1 -U 1 -D 3 -L 2 -U 3 -L 1 -R 2 -D 3 -R 2 -U 1 -R 2 -D 1 -U 3 -L 2 -D 1 -R 1 -L 3 -R 3 -D 2 -R 1 -U 2 -R 3 -D 2 -U 2 -L 2 -U 1 -R 2 -U 2 -L 2 -D 3 -L 2 -D 1 -L 1 -U 2 -L 1 -D 2 -R 1 -D 2 -R 1 -L 2 -U 1 -L 1 -U 1 -D 2 -R 4 -D 4 -L 2 -R 4 -D 1 -L 2 -D 2 -L 4 -U 4 -D 4 -L 3 -R 3 -D 1 -L 1 -D 1 -U 4 -R 4 -U 4 -D 2 -R 1 -U 3 -R 2 -U 3 -R 4 -D 3 -U 3 -L 4 -D 1 -R 2 -U 3 -D 4 -U 3 -R 2 -L 1 -D 2 -U 2 -R 3 -U 2 -R 2 -D 2 -L 2 -U 4 -R 1 -L 3 -R 1 -L 1 -D 3 -R 4 -D 2 -R 4 -U 3 -L 1 -D 1 -R 4 -U 3 -D 1 -L 3 -R 1 -L 3 -D 2 -L 2 -R 3 -L 4 -D 4 -U 1 -L 1 -R 1 -D 3 -L 2 -R 1 -D 3 -R 2 -D 4 -U 4 -R 3 -U 1 -D 3 -L 3 -D 3 -U 1 -D 2 -U 4 -R 4 -U 2 -D 1 -R 1 -D 4 -L 2 -R 3 -U 4 -L 1 -D 1 -U 4 -L 3 -D 4 -U 2 -R 4 -U 2 -R 4 -U 2 -L 1 -R 1 -L 3 -D 4 -L 2 -R 2 -L 3 -U 3 -R 4 -L 2 -R 1 -D 5 -U 1 -R 1 -U 2 -R 1 -U 4 -L 3 -U 4 -R 2 -D 3 -L 4 -R 3 -L 2 -U 2 -R 1 -L 3 -D 5 -R 3 -L 2 -U 5 -R 2 -U 5 -L 5 -U 4 -R 4 -D 2 -R 4 -D 3 -R 2 -D 3 -U 2 -L 3 -D 3 -L 1 -U 4 -D 3 -L 1 -D 1 -R 2 -L 4 -R 3 -U 1 -R 3 -L 2 -R 3 -D 4 -R 2 -U 3 -L 4 -R 5 -L 1 -U 1 -D 5 -U 2 -R 5 -L 4 -D 3 -L 1 -D 3 -U 1 -R 2 -D 1 -L 5 -D 2 -R 4 -L 1 -D 2 -R 4 -L 3 -R 3 -L 3 -R 4 -L 3 -U 3 -D 4 -U 2 -R 1 -D 1 -U 1 -R 5 -D 5 -L 5 -R 3 -U 2 -D 4 -L 5 -D 1 -L 4 -R 4 -U 2 -L 2 -R 2 -U 3 -L 1 -U 3 -L 1 -D 4 -U 5 -D 5 -R 4 -L 4 -R 5 -D 4 -U 5 -L 4 -U 1 -D 4 -R 5 -D 2 -U 4 -R 2 -U 3 -D 2 -U 6 -D 4 -R 1 -D 4 -R 3 -L 1 -R 5 -U 6 -D 5 -L 4 -R 3 -L 4 -R 5 -D 1 -R 3 -D 2 -L 6 -U 5 -R 6 -L 2 -D 6 -U 1 -L 3 -D 4 -R 6 -D 3 -L 3 -R 5 -U 6 -D 5 -U 1 -R 4 -L 4 -U 4 -R 5 -D 1 -L 4 -U 6 -L 2 -R 3 -L 2 -R 3 -L 3 -R 4 -U 3 -D 1 -R 6 -D 5 -L 2 -R 4 -U 4 -D 2 -L 1 -R 2 -D 3 -L 4 -D 4 -R 4 -D 6 -R 1 -L 2 -R 5 -D 3 -U 5 -R 4 -L 6 -D 6 -U 4 -R 4 -L 4 -U 4 -R 5 -D 1 -U 1 -R 4 -L 2 -U 6 -D 3 -L 3 -U 6 -D 1 -U 4 -D 6 -R 6 -U 1 -R 2 -U 5 -D 4 -L 2 -U 5 -D 1 -L 5 -U 1 -R 3 -D 2 -R 1 -L 3 -D 1 -R 1 -L 2 -R 6 -D 6 -R 4 -U 4 -L 5 -R 6 -L 5 -R 4 -D 3 -L 2 -R 4 -L 2 -U 6 -D 5 -R 1 -L 3 -R 1 -U 2 -R 6 -L 2 -D 7 -L 2 -D 4 -R 2 -U 6 -D 4 -R 5 -U 6 -R 3 -L 3 -U 2 -R 3 -U 1 -R 7 -U 2 -R 2 -D 7 -R 1 -U 5 -D 1 -L 5 -U 5 -R 2 -D 5 -R 4 -U 5 -L 3 -D 4 -L 6 -R 7 -L 2 -D 3 -L 2 -D 6 -U 6 -L 1 -D 7 -U 6 -L 7 -R 5 -L 1 -U 7 -R 1 -L 4 -R 4 -L 5 -U 7 -D 4 -R 7 -L 5 -U 7 -L 6 -U 3 -D 5 -R 5 -U 7 -R 5 -L 3 -U 6 -R 2 -U 3 -R 3 -U 6 -L 5 -D 6 -L 4 -D 5 -R 1 -L 3 -U 6 -R 6 -U 6 -L 1 -D 2 -L 5 -D 1 -L 6 -U 5 -D 5 -R 5 -D 6 -L 4 -U 5 -R 2 -U 4 -D 7 -L 1 -U 1 -D 1 -L 1 -D 4 -U 1 -L 6 -U 1 -R 5 -D 1 -U 1 -R 1 -U 5 -R 4 -U 5 -L 2 -U 6 -L 7 -R 2 -U 4 -R 5 -L 1 -R 8 -L 2 -D 7 -R 7 -D 2 -L 2 -R 2 -D 2 -U 7 -D 7 -R 4 -U 1 -R 2 -L 6 -U 1 -L 3 -U 2 -D 7 -R 6 -L 5 -D 1 -L 3 -U 6 -D 2 -U 2 -R 4 -D 1 -L 7 -U 3 -D 8 -U 4 -D 8 -L 8 -U 6 -L 3 -U 4 -R 4 -U 8 -D 1 -R 7 -U 5 -L 8 -U 4 -L 4 -D 7 -U 8 -L 2 -D 8 -L 1 -R 1 -L 1 -R 8 -L 8 -R 5 -L 1 -R 4 -D 3 -R 2 -U 8 -L 6 -R 4 -L 3 -R 8 -L 4 -D 5 -R 3 -U 2 -D 8 -U 4 -R 6 -D 4 -R 3 -L 7 -D 8 -L 2 -U 6 -D 7 -R 3 -L 5 -R 4 -D 3 -L 4 -R 8 -L 7 -D 8 -R 3 -U 3 -L 3 -R 6 -L 1 -U 3 -L 1 -U 4 -R 8 -L 8 -R 2 -D 3 -L 2 -R 1 -D 2 -R 6 -U 3 -D 1 -U 3 -R 1 -U 2 -R 2 -L 2 -D 6 -U 7 -L 8 -D 6 -U 2 -R 3 -L 6 -U 9 -D 6 -U 1 -D 3 -U 4 -R 3 -L 9 -D 6 -U 9 -D 1 -L 5 -U 5 -D 6 -U 4 -L 8 -U 8 -D 3 -L 3 -U 9 -R 5 -L 7 -D 1 -R 9 -U 8 -D 1 -R 1 -U 9 -D 4 -R 6 -U 8 -R 6 -U 3 -D 2 -U 8 -L 8 -U 9 -D 4 -L 3 -U 4 -D 3 -L 9 -R 7 -L 9 -R 3 -L 5 -D 7 -L 8 -U 9 -L 7 -D 1 -L 6 -U 7 -L 6 -D 8 -U 9 -L 7 -R 7 -D 1 -R 6 -D 4 -U 7 -R 7 -L 8 -D 4 -R 1 -L 7 -D 2 -U 3 -D 1 -R 7 -D 7 -R 7 -L 6 -D 9 -U 7 -D 5 -R 7 -L 1 -R 9 -U 1 -L 2 -U 5 -R 4 -D 7 -R 2 -D 5 -U 4 -D 3 -R 9 -U 2 -D 9 -U 1 -R 9 -U 9 -D 1 -L 7 -U 6 -D 6 -U 9 -L 5 -U 2 -D 6 -L 4 -D 3 -U 1 -R 2 -L 1 -R 1 -D 1 -R 1 -U 1 -R 4 -L 7 -R 2 -D 1 -U 3 -D 3 -R 10 -L 7 -R 7 -D 2 -L 6 -R 9 -U 9 -D 8 -U 9 -R 2 -U 6 -D 9 -U 1 -L 2 -R 10 -L 9 -R 10 -L 6 -R 4 -D 4 -R 4 -U 4 -D 4 -L 5 -R 8 -D 4 -L 7 -D 6 -L 8 -R 9 -L 8 -D 7 -R 2 -U 2 -D 5 -L 4 -R 8 -D 7 -R 6 -D 7 -L 5 -U 7 -R 1 -D 7 -R 9 -D 5 -U 3 -L 8 -D 7 -U 4 -D 4 -R 10 -U 7 -D 4 -U 2 -R 7 -L 4 -U 2 -D 9 -L 5 -R 2 -U 10 -L 9 -R 10 -L 1 -D 5 -R 10 -L 5 -R 5 -D 5 -R 10 -L 4 -U 9 -D 7 -R 10 -L 6 -U 3 -D 5 -U 6 -L 6 -U 10 -L 1 -U 10 -D 4 -L 7 -U 2 -L 10 -R 4 -L 7 -R 4 -D 10 -L 4 -U 10 -L 10 -D 9 -U 4 -R 8 -U 8 -R 5 -U 3 -D 10 -R 7 -L 10 -R 9 -L 1 -D 6 -L 11 -D 11 -R 3 -L 8 -U 6 -R 9 -D 5 -R 9 -D 4 -U 7 -D 4 -R 4 -U 10 -D 4 -R 2 -L 3 -U 5 -D 11 -R 8 -L 8 -U 7 -R 3 -D 8 -U 5 -R 10 -D 5 -R 2 -U 11 -D 10 -R 1 -U 9 -L 10 -R 2 -D 11 -R 6 -L 3 -R 10 -U 2 -D 6 -L 10 -U 5 -L 6 -U 1 -R 10 -U 8 -R 8 -D 4 -U 8 -L 11 -R 7 -L 2 -D 2 -R 5 -U 10 -L 3 -R 6 -L 8 -R 8 -U 8 -D 3 -L 7 -R 5 -L 6 -D 11 -L 6 -D 7 -U 6 -D 3 -U 9 -L 7 -R 8 -L 3 -R 10 -D 11 -L 11 -R 4 -D 6 -L 7 -D 9 -R 10 -U 11 -L 9 -D 8 -L 2 -U 1 -D 7 -U 10 -D 11 -R 5 -D 11 -L 6 -D 5 -R 6 -D 5 -R 11 -U 3 -D 6 -R 5 -U 7 -D 2 -R 6 -U 5 -D 9 -U 3 -R 7 -D 10 -U 5 -D 4 -R 6 -U 11 -L 10 -U 5 -L 6 -R 5 -U 7 -L 7 -R 5 -D 9 -U 11 -L 7 -U 8 -L 7 -U 3 -L 8 -R 10 -U 11 -R 8 -L 12 -U 8 -D 2 -L 2 -D 2 -U 10 -R 11 -U 2 -R 6 -U 3 -D 9 -U 5 -D 12 -L 11 -D 8 -U 12 -R 4 -U 1 -L 2 -R 10 -D 6 -L 10 -U 2 -R 4 -L 4 -D 8 -U 9 -L 4 -D 10 -U 5 -R 10 -L 2 -D 2 -U 2 -R 7 -D 8 -R 1 -U 11 -D 1 -L 7 -R 12 -D 12 -R 3 -L 11 -R 10 -U 11 -R 5 -D 6 -R 11 -D 2 -L 3 -D 12 -L 9 -R 6 -U 1 -D 2 -R 6 -D 5 -U 7 -R 2 -D 5 -U 3 -D 12 -R 12 -L 9 -R 9 -D 12 -R 8 -D 11 -L 7 -U 4 -D 11 -R 1 -U 9 -L 1 -D 2 -R 3 -U 1 -D 1 -R 2 -D 11 -U 12 -R 7 -D 1 -U 13 -L 5 -D 13 -L 10 -D 12 -L 7 -D 9 -L 7 -U 6 -L 1 -R 1 -L 10 -R 7 -L 6 -U 7 -R 10 -U 7 -R 11 -U 12 -L 2 -D 11 -L 5 -U 2 -D 8 -L 10 -D 13 -U 10 -L 9 -U 5 -D 11 -R 6 -L 9 -R 2 -L 6 -U 4 -R 7 -D 11 -L 3 -U 6 -D 13 -U 2 -R 13 -U 11 -L 12 -D 13 -L 1 -R 9 -D 10 -U 6 -L 13 -U 2 -L 12 -D 7 -R 1 -L 6 -D 1 -U 10 -D 5 -L 2 -U 12 -R 1 -U 9 -D 4 -U 10 -L 1 -R 1 -U 8 -R 2 -D 1 -L 6 -U 11 -D 2 -U 7 -D 11 -U 9 -D 6 -U 5 -D 13 -R 2 -U 8 -L 4 -U 4 -R 2 -U 1 -D 3 -L 1 -D 13 -R 9 -L 4 -D 5 -L 7 -U 2 -D 10 -L 6 -U 11 -D 1 -U 5 -R 4 -D 9 -R 12 -D 2 -U 9 -L 10 -U 6 -D 2 -L 8 -U 4 -L 4 -D 12 -U 3 -L 14 -D 12 -R 12 -L 7 -U 5 -L 2 -D 4 -L 13 -D 10 -L 8 -D 12 -R 13 -U 8 -D 14 -U 4 -R 11 -L 4 -R 13 -L 2 -U 1 -D 10 -L 12 -D 13 -L 4 -D 11 -R 14 -U 8 -L 11 -D 2 -U 8 -L 8 -D 3 -L 14 -U 7 -L 2 -R 2 -D 6 -U 1 -L 12 -R 12 -U 4 -L 1 -U 13 -R 12 -D 8 -U 10 -R 2 -L 7 -R 4 -D 4 -L 14 -U 2 -D 2 -U 11 -L 7 -R 12 -U 9 -L 11 -R 6 -D 6 -R 8 -L 1 -D 9 -L 7 -D 10 -R 6 -D 6 -L 5 -D 14 -L 12 -U 12 -R 4 -D 14 -L 10 -D 11 -L 3 -D 3 -U 9 -L 6 -D 10 -U 1 -L 10 -D 9 -R 8 -L 3 -U 7 -R 4 -U 9 -L 5 -R 7 -D 7 -L 5 -U 4 -R 4 -L 7 -R 8 -L 2 -R 5 -L 10 -R 2 -L 12 -D 12 -L 6 -R 4 -L 11 -D 13 -L 13 -R 10 -D 12 -U 5 -R 11 -L 15 -R 6 -U 9 -D 5 -U 6 -L 1 -D 1 -R 7 -D 5 -R 15 -U 11 -R 5 -D 15 -R 13 -U 8 -R 11 -U 7 -D 4 -L 6 -D 11 -U 1 -L 2 -R 11 -L 12 -D 5 -R 3 -L 14 -R 15 -L 14 -U 13 -D 9 -L 3 -D 4 -U 9 -L 3 -R 14 -U 3 -R 15 -L 14 -R 4 -U 15 -L 1 -D 11 -L 13 -D 14 -L 1 -D 1 -U 13 -D 7 -U 13 -D 15 -U 15 -L 6 -D 7 -R 15 -L 10 -U 6 -R 7 -L 13 -U 3 -D 9 -L 3 -D 10 -R 14 -D 15 -L 6 -D 4 -U 11 -L 11 -D 6 -U 8 -D 15 -R 5 -L 9 -D 15 -U 15 -R 9 -D 11 -U 7 -L 9 -U 8 -D 2 -L 4 -D 11 -U 12 -R 11 -U 5 -L 12 -U 5 -R 14 -L 10 -R 6 -D 3 -L 13 -U 6 -R 10 -D 10 -U 9 -D 3 -R 7 -L 13 -R 15 -U 6 -L 13 -U 11 -D 9 -L 7 -R 8 -U 6 -R 12 -U 2 -L 8 -U 10 -D 11 -U 14 -R 3 -L 15 -U 9 -L 2 -U 2 -D 11 -L 11 -R 3 -D 14 -U 3 -L 1 -U 2 -D 12 -L 5 -R 5 -D 10 -L 16 -R 4 -U 3 -L 6 -R 9 -L 7 -R 2 -U 15 -R 6 -L 12 -D 16 -L 16 -D 15 -U 12 -L 6 -D 9 -U 8 -L 10 -D 11 -U 4 -D 12 -U 7 -D 14 -U 1 -D 10 -R 10 -D 14 -L 5 -D 6 -R 8 -L 16 -U 7 -L 12 -R 13 -L 11 -D 12 -R 5 -D 11 -L 5 -R 4 -D 15 -L 13 -D 10 -R 2 -L 16 -D 14 -R 15 -D 11 -U 2 -D 12 -L 11 -D 1 -R 5 -D 6 -U 13 -L 10 -R 1 -U 10 -D 12 -L 10 -D 10 -R 11 -L 10 -D 11 -L 3 -R 11 -D 12 -L 6 -U 2 -L 10 -D 9 -L 11 -U 12 -D 14 -L 6 -U 16 -D 2 -L 2 -D 14 -U 7 -R 12 -D 14 -L 4 -U 3 -R 16 -D 2 -L 5 -R 10 -L 1 -R 11 -L 14 -D 3 -L 17 -D 4 -U 1 -R 8 -D 8 -L 5 -U 1 -L 13 -D 15 -U 17 -L 1 -D 14 -U 4 -R 1 -U 2 -D 14 -R 10 -U 14 -D 17 -R 10 -U 13 -D 12 -U 8 -L 11 -U 17 -R 12 -U 6 -D 8 -R 10 -U 16 -D 4 -R 3 -D 3 -U 4 -L 3 -U 5 -R 16 -L 5 -R 16 -D 17 -R 12 -L 11 -R 13 -U 12 -L 8 -R 5 -D 6 -U 16 -L 16 -D 2 -L 11 -D 1 -R 1 -D 14 -R 15 -L 6 -U 14 -R 12 -D 11 -L 9 -U 6 -L 11 -D 15 -U 17 -L 1 -U 3 -L 6 -U 5 -R 16 -L 14 -R 9 -L 12 -D 14 -U 13 -L 3 -U 13 -D 7 -R 2 -U 7 -D 5 -L 17 -D 6 -L 16 -R 5 -D 4 -R 3 -U 11 -D 3 -U 9 -D 10 -U 2 -L 6 -D 6 -R 15 -D 17 -R 1 -L 15 -D 2 -U 5 -R 2 -D 6 -L 8 -R 5 -L 2 -D 17 -U 9 -D 9 -L 7 -R 12 -L 12 -R 18 -L 10 -R 9 -D 6 -R 9 -U 15 -L 17 -D 18 -R 1 -L 15 -D 4 -R 6 -U 3 -R 6 -U 3 -D 1 -U 9 -D 8 -R 3 -D 6 -U 3 -R 8 -L 8 -R 10 -U 7 -D 16 -U 17 -R 11 -U 8 -D 1 -U 8 -L 4 -R 12 -D 10 -U 7 -D 18 -U 7 -D 12 -L 18 -U 9 -R 2 -U 5 -D 14 -R 13 -D 15 -U 17 -D 16 -L 4 -D 10 -L 2 -U 7 -L 7 -D 13 -R 13 -U 12 -R 16 -U 17 -R 3 -U 12 -R 6 -D 12 -U 11 -L 6 -U 15 -L 12 -R 1 -D 6 -L 16 -R 1 -D 7 -R 17 -L 15 -D 15 -U 9 -R 18 -D 13 -R 14 -D 1 -R 1 -D 16 -L 18 -R 1 -U 14 -L 8 -D 14 -R 15 -D 2 -U 10 -D 17 -U 3 -D 9 -R 7 -D 17 -U 3 -D 15 -L 17 -D 17 -R 1 -D 10 -L 9 -D 14 -R 5 -U 14 -R 14 -D 12 -R 18 -U 4 -D 2 -U 17 -D 12 -L 4 -U 9 -L 9 -U 17 -R 4 -U 17 -R 8 -D 10 -R 3 -D 9 -U 17 -L 5 -R 16 -U 9 -L 5 -D 15 -U 2 -D 7 -L 15 -U 1 -L 16 -R 8 -L 13 -R 3 -D 8 -R 1 -D 8 -L 10 -U 16 -R 16 -L 2 -U 3 -D 9 -U 12 -D 1 -L 10 -D 15 -U 7 -R 3 -D 15 -U 4 -L 6 -R 14 -U 13 -R 16 -U 2 -R 9 -U 15 -D 8 -L 8 -R 17 -D 3 -L 17 -D 13 -U 8 -D 11 -R 13 -L 3 -D 2 -U 14 -R 1 -U 10 -R 11 -D 16 -L 10 -R 17 -U 7 -L 13 -R 3 -L 18 -R 5 -U 7 -L 12 -D 4 -U 5 -L 17 -R 18 -L 4 -R 19 -L 12 -U 17 -R 2 -L 11 -R 9 -D 16 -R 19 -L 18 -U 11 -D 4 -R 13 -L 18 -U 13 -R 19 -D 3 -R 10 -L 3 -R 5 -D 2 -R 2 -L 18 -D 15 -R 19 -L 5 -D 4 -U 5 -R 12 -D 15 -L 13 -R 16 -U 16 -L 6 -U 12 -L 8 \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 9f46676..0000000 --- a/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Advent of Code -## Solutions for the AoC Challenges -### They might not be the best solutions but they work and that's the important part of a coders job :xdd: - ---- -## Languages used by days: -### 2022 -| Language | Days | -|----------|------------------| -| Python | 1, 2, 4, 5, 6, 8 | -| C# | 3 | \ No newline at end of file