commit 700ba0888e97ae4bd6deac61ff0c8127d703c83a Author: nikurasu Date: Wed Dec 21 13:35:30 2022 +0100 Reinited repo because commits leaked my real name diff --git a/2022/day01/input b/2022/day01/input new file mode 100644 index 0000000..d968c2a --- /dev/null +++ b/2022/day01/input @@ -0,0 +1,2251 @@ +6529 +8085 +4534 +1503 +2983 +5030 +2135 +5866 +5092 +5059 +1232 + +15219 +7137 +2691 +2898 +1798 + +4495 +2146 +3114 +5971 +2023 +2326 +6386 +4454 +2632 +3077 +2878 +2850 + +8347 +4368 +2646 +3785 +8383 +1847 +10738 +4345 + +1561 +5338 +3783 +4897 +3623 +6192 +2419 +6170 +1459 +1708 +4129 +4703 +3723 +5623 + +4684 +4823 +1065 +2276 + +5594 +2941 +3455 +3358 +4167 +4799 +3685 +3151 +3152 +1653 +5886 +5390 +1322 + +5305 +3665 +1763 +3359 +1851 +2194 +7262 +5151 +6598 +6326 +3639 + +7665 +4909 +5829 +6440 +7734 +7955 +5366 +8355 +3715 +5227 + +13214 +14041 +16730 +5522 + +1594 +5656 +2728 +5500 +7330 +7734 +7427 +3196 +1523 +1596 + +4125 +5353 +6549 +6118 +1294 +1272 +7007 +5572 +4896 +3169 +7709 + +1252 +9688 +2823 +7172 +8492 +4208 +1800 +5715 +3152 + +3186 +12541 +19573 + +11484 +8691 +11020 +2916 +1963 +12731 + +1451 +14095 +6033 +8075 +10327 + +5059 +1674 +5504 +5870 +6537 +3352 +7099 +5695 + +1238 +6348 +3080 +2109 +8335 +5178 +5324 +8800 +6917 + +5791 +2597 +4437 +4446 +2491 +5246 +5065 +2294 +1523 +2427 +5077 +3624 + +29241 +1823 + +4907 +4748 +4849 +5602 +1965 +1184 +2380 +3794 +4338 +1647 +5942 +2999 +4634 +1627 +5374 + +3929 +3291 +4898 +6074 +5349 +3256 +5042 +4300 +2866 +1660 +5942 +4029 +3301 +4653 + +6239 +3830 +1773 +4081 +1078 +6356 +1570 +5862 +3328 +5806 +4974 +6552 +2162 + +62947 + +11189 +2609 +1987 +6087 +7704 + +6355 +15744 +4331 +14437 + +10677 +3241 +7979 +3643 +1131 +7711 +2069 +3945 + +5626 +7282 +10610 +5553 +9387 +2196 +6064 +8325 + +2376 +5418 +5256 +2834 +5146 +1356 +5956 +3389 +2357 +3216 +1988 +1264 +2620 +1334 +4345 + +3774 +4300 +5766 +8511 +1535 +1431 +4666 +2073 +8279 +6881 + +4788 +6221 +3354 +2403 +9211 +1869 + +6052 +6845 +1214 +3467 +2008 +1129 +4537 +1810 +4805 +2752 +1294 +3764 + +5326 +2255 +6754 +3961 +2481 +3493 +1696 +5639 +8564 +5161 + +4773 +1683 +3104 +6495 +6879 +1932 +1894 +4526 +5013 +3114 +3956 +2401 +1211 + +10777 + +4328 +1321 +3656 +4368 +3932 +5701 +4040 +1146 +6344 +2406 +6461 +6133 +5276 +1058 + +10525 +2492 +1508 +7667 +3349 +4659 +8078 +9070 + +6095 +6001 +9615 +11546 +9401 +1185 +9038 + +7528 +3118 +12935 +13110 +1345 + +5863 +3750 +1911 +1501 +3564 +5163 +5684 +1544 +1535 +1009 +3071 +4870 +2717 + +10390 +1714 +12404 +3155 +5534 + +5965 +8382 +1849 +1844 +7654 +9554 +3685 +6535 + +3281 +7001 +4418 +1128 +7339 +5821 +7149 +2368 +2086 +7218 +5802 +5233 + +9320 + +1200 +7288 +8100 +8743 +5675 +4827 +3289 +2862 +8348 + +16472 +18172 +16411 +16413 + +7073 +1820 +8120 +7426 +6211 +1610 +5391 +7900 + +4090 +4417 +5467 +5302 +4528 +3809 +4313 +1853 +3770 +3602 +6049 +3511 +5848 +2778 +3514 + +3874 +5419 +2536 +6061 +5871 +3103 +4837 +2054 +2506 +2473 +3696 +1648 +2932 +1520 +5730 + +69921 + +8742 +8516 +14482 +12871 +8146 + +5021 +1804 +1718 +2605 +4966 +5385 +2086 +5648 +3237 +5928 +5856 +3234 +2297 +4183 + +3940 +3186 +1121 +5004 +9081 +8588 +7769 +2550 + +7876 +8684 +4238 +6074 +9447 +1273 +4027 +8267 +2911 + +1478 +4303 +6935 +3396 +2043 +3050 +1902 +4931 +3412 +3110 +2572 +2105 +6598 + +2899 +2696 +2432 +1589 +5805 +5805 +4449 +5500 +2118 +3318 +2042 +4366 +1067 +3348 +3660 + +7248 +3934 +6003 +4893 +8136 +10163 + +18757 +22220 +5027 + +3657 +8529 +2498 +2381 +3308 +3133 +6646 +1892 +7461 + +49084 + +46725 + +2961 +5118 +4034 +2690 +5181 +5797 +5978 +1013 +6579 +7485 + +17005 +16457 + +6120 +5668 +6006 +3880 +1494 +6090 +5394 +3980 +1051 +1125 +1411 +4546 +1840 + +28701 + +6038 +7823 +3235 +7303 +3904 +2572 +1478 +8661 +2921 +1287 + +1387 +2751 +4748 +2307 +2675 +2168 +5663 +7359 +7753 +3952 +3101 + +11736 +4778 +1596 + +3065 +3481 +1775 +2516 +2214 +4046 +5415 +4580 +4221 +4566 +6724 +6870 +5590 + +3348 +3348 +5112 +4493 +3259 +2540 +2407 +4276 +3328 +4447 +1123 +3431 +5191 +5144 +3374 + +38950 + +6208 +3976 +5557 +5338 +3420 +4221 +6829 +6686 +6516 +2024 +1675 +4972 + +5491 +3707 +7833 +5247 +7155 + +1246 +9839 +1590 +7833 +8812 +4296 + +3305 +4483 +4617 +3308 +3851 +5978 +4419 +4527 +4789 +3590 +6406 +1741 +5882 +5743 + +25321 +32917 + +3654 +3962 +5489 +6090 +1643 +5186 +3220 +6542 +5029 +3857 +3746 + +5243 +12859 +6728 +19483 + +15385 +17342 + +7771 +5721 +3603 +3661 +3682 +6139 +2645 +1725 +7200 +8120 + +11232 +6787 +9618 +11104 +8613 +5183 +3189 + +25964 +23122 +11479 + +6572 +6512 +5407 +2640 +6992 +1730 +7317 +2995 +1435 +5295 +5741 + +1647 +12453 +11893 +18188 + +10366 +3241 +9612 +2966 +6200 +1073 +9429 +8688 + +4080 +4133 +9987 +4345 +4526 +1076 +10504 + +1424 +9981 +5575 +2334 +1554 +6135 +4184 +4241 + +15678 +13808 +12505 +14449 +16278 + +14461 +4481 + +4720 +8418 +6511 +8148 +6346 +6025 +6794 +7252 +3811 +1189 + +6209 +5901 +1677 +3047 +8828 +3745 +7073 +5612 +3005 + +6455 +2873 +6972 +6296 +6960 +4124 +4382 +1269 +2683 +4131 +4768 + +9877 +8415 +17318 +7294 + +7595 +4689 +1674 +1215 +1887 +2247 +7359 +4295 +5184 +4274 +3674 + +2440 +2559 +4609 +3775 +4553 +3364 +1084 +5611 +1463 +2196 +2027 +2054 +2010 +1269 +4411 + +3384 +3054 +4987 +3713 +5142 +5343 +5043 +2738 +3549 +6059 + +4822 +9613 +1653 +1112 +1470 +5641 +7374 +4129 + +25877 +4799 +8409 + +4926 +2883 +2384 +2806 +3819 +4187 +2162 +2670 +3604 +1060 +2671 +2978 +2791 +3216 +6055 + +37492 + +5945 +5609 +5071 +6765 +7648 +3932 +7251 +5630 +7043 +1675 +5676 + +3852 +15773 +9032 +11524 + +5487 +3806 +6971 +2135 +4971 +5629 +3195 +1693 +1041 +3837 +1478 +1063 + +3291 +3252 +5375 +2706 +4367 +3229 +5712 +4769 +2743 +3576 +5938 +4705 +5276 +3964 + +13470 +1497 +13303 +2923 +11201 + +1514 +4869 +2929 +4167 +1065 +2915 +5472 +1344 +2236 +4734 +2487 + +6568 +5764 +1760 +1988 +1842 +2124 +4665 +4653 +5020 +2928 +4274 +4508 +1549 + +4844 +2544 +2022 +4723 +1450 +4579 +1410 +4474 +4762 +5963 +1299 +4196 +5663 +5894 +3438 + +2910 +3538 +7573 +4233 +6030 +7195 +4073 +4317 +5065 +5512 +6284 + +1090 +4494 +4085 +3378 +2631 +3533 +1667 +2167 +1840 +1750 +1209 +4066 +4965 +3571 +4156 + +3540 +5820 +4389 +7232 +4366 +6384 +1106 +4408 +8053 +1266 + +13848 +2160 +13791 +14041 +11152 + +4299 +2211 +3798 +9867 +13325 +5998 + +6292 +5641 +4698 +5604 +4022 +2314 +2876 +6889 +6322 +5038 +5623 +2943 +3426 + +5374 +2158 +13022 +4657 +8483 +3112 + +5337 +3564 +3978 +4692 +6418 +5877 +2936 +1534 +5147 +5403 +4000 +3786 +2723 +2665 + +2243 +4517 +6021 +3948 +4251 +3157 +3985 +4325 +6779 +4205 +6417 +2664 + +2547 +5363 +3277 +1601 +3498 +3581 +1882 +2294 +7464 +2203 +1440 +2119 + +56540 + +4114 +6633 +7409 +2081 +3364 +2428 +5812 +6104 +3459 +1216 +4749 + +9792 + +5672 +5220 +2217 +5072 +4068 +2214 +7023 +6975 +4430 +5375 +4351 +3875 + +6394 +3166 +4308 +3760 +2712 +2207 +4830 +6165 +4717 +4483 +4568 +6496 +4028 + +1113 +2766 +5360 +5590 +3535 +4420 +2554 +2339 +2905 +5054 +2954 +2953 +5128 +5970 +5064 + +4688 +17010 +7287 + +25959 +16973 + +6698 +7478 +6731 +1324 +7721 +7731 +3471 +1071 +4544 +2879 +6244 + +5335 +2716 +3073 +6624 +3710 +2488 +6201 +3117 + +3446 +1221 +8736 +9519 +8604 +9563 +6241 +1964 +8546 + +1950 +2550 +4261 +10511 +9023 +9729 +8882 + +3380 +3474 +2462 +5721 +5728 +8104 +5746 +8395 +3078 + +24787 +21907 +9130 + +4487 +3463 +4453 +5325 +4555 +5709 +1424 +3149 +3695 +4030 +2529 +5465 +2544 +2147 +5561 + +29311 +13793 + +65354 + +1094 +2132 +2019 +5234 +3514 +1873 +4363 +1395 +6290 +1685 +4297 + +6240 +3902 +3457 +7592 +4596 +5988 +4647 +2331 +3409 +3818 +3156 + +12669 +4058 +14475 +1124 + +19249 +28191 + +11176 +4240 +5949 +15876 +13090 + +5812 +1314 +6397 +2303 +2371 +2955 +2624 +3035 +6322 +2288 +5643 +6326 +2157 + +4073 +10747 +12263 +6031 +13390 + +9228 +8451 +16266 +9348 +6395 + +24990 +12527 +17026 + +14534 +19849 +14849 +6185 + +6427 +1995 +4227 +6946 +6345 +3284 +1982 +6415 +5996 +4840 +1657 +1324 + +20567 +16054 +3294 + +6989 +1535 +7128 +6653 +7060 +4023 +4041 +7119 +6428 +5189 +1968 +5184 + +8986 +28335 + +3739 +5164 +3972 +4791 +4171 +1276 +4546 +5024 +6224 +3280 +3118 +2283 +2591 + +66586 + +4747 +31552 + +6575 +6202 +7744 +8298 +8022 +1574 +7635 +7135 +2227 + +18465 +5912 + +5659 +2780 +2678 +6838 +1102 +2615 +5060 +3681 +1710 +1618 +5997 +5730 +6887 + +10009 +8637 +10267 +11737 + +7843 +3135 +3618 +2453 +2112 +3075 +4248 +3881 +1662 +3737 +5143 + +2093 +3199 +4806 +6406 +5864 +7205 +5964 +7831 +7954 +7029 +7384 + +2560 +2823 + +1529 +7467 +2912 +2857 +2505 +6923 +7118 +7203 +4146 +3657 +5065 +6754 + +7142 +3048 +3386 +7443 +4071 +4173 +4400 +2863 +1656 +5693 +5895 +2526 + +8654 +7439 +8871 +2786 +2597 +6301 +1233 +5254 + +5900 +1116 +3219 +1281 +2023 +1395 +4355 +1368 +5337 +3611 +4007 +5670 +2416 +5050 +4930 + +6085 +1021 +2072 +5284 +4538 +4496 +1483 +2386 +5955 +4557 +6548 +3776 + +3093 +2877 +17823 +18819 + +10160 +8582 +8538 +6647 +7614 +3570 + +43301 + +10538 +2596 +8339 +7342 +9710 +9051 +7271 +2822 + +6264 +6544 +1150 +6224 +5472 +5747 +3405 +1962 +5948 + +13398 +16778 +15554 +2173 + +4616 +2528 +1631 +11988 +3788 +9095 +11021 + +19193 + +24816 + +2335 +2232 +4247 +5104 +2085 +4732 +1646 +2689 +5182 +1949 +1030 +4538 +5628 +4298 +2006 + +6145 +5453 +6567 +5254 +3538 +4106 +3076 +6080 +2023 +3233 +6706 +2530 +3569 + +3644 +13707 +11721 +12291 +1798 +9214 + +3227 +4812 +1364 +4183 +2462 +1384 +4649 +2010 +2771 +2114 +2284 +6032 +5376 +5773 + +7091 +11367 +11050 +1177 +1698 +7646 +9085 + +2697 +2541 +4898 +6708 +1349 +4640 +8273 +2063 +6007 +3683 + +61753 + +3993 +7000 +6769 +7454 +2998 +7523 +3069 +6862 +1382 + +55910 + +14386 +24790 + +8219 +2081 +4611 +11785 +5734 +12051 + +6648 +3217 +3406 +2725 +1770 +1991 +4649 +5939 +3057 +4673 +1986 +6766 +3955 + +4409 +3015 +2068 +4331 +8752 +6399 +1043 +2111 + +3826 +6028 +5083 +6987 +3181 +6147 +6074 +5237 +2423 +2037 +6353 +7104 + +4766 +3207 +7062 +5163 +4673 +7121 +3374 +4113 +1090 +6951 +6919 + +2848 +5358 +2402 +2485 +1366 +2620 +3930 +4174 +2767 +3336 +6871 + +1834 +3257 +6061 +3107 +3054 +1442 +3560 +2815 +4979 +1496 +1610 +2670 +2365 +4488 +1991 + +4995 +4348 +4425 +4765 +3891 +4132 +2565 +6416 +1284 +2608 +3027 +1474 +4237 + +5231 +1041 +2430 +3795 +3356 +3607 +1285 +4566 +3637 +1036 +3375 +3999 +5275 +1731 + +4505 +3079 +5583 +3314 +5962 +6709 +6080 +4266 +4252 +4665 +2331 +1835 +6744 + +4674 +6194 +1155 +3895 +4736 +5553 +2237 +2628 +4887 +2705 +3890 +1629 +1474 +3686 + +1217 +5258 +2210 +2151 +3012 +6117 +2261 +5054 +3062 +1365 +4633 +3810 +4117 +2223 + +4301 +4875 +9069 +3312 +1382 +9454 + +5405 +1117 +2206 +4622 +5346 +1066 +5791 +4496 +5785 +4172 +4220 +6302 +4667 +6162 + +7211 +15334 + +10114 +9964 +4173 +9143 +10306 +9238 +9310 +8202 + +5579 +9087 +6909 +4321 +10075 +7365 +4559 +2390 + +6853 +8713 +7697 +7839 +5738 +7412 +6935 +7112 +1731 +6992 + +2680 +1464 +8710 +14949 +11441 + +20388 +10859 + +3378 +10073 +10939 +4344 +10261 +7987 + +3809 +6653 +7000 +3264 +3039 +4211 +2910 +6677 +2070 +2591 +6428 + +5067 +4573 +5452 +4266 +4586 +3038 +2181 +3103 +2256 +4213 +3972 +4232 +3116 +6089 + +16022 +14856 +13679 +9065 +15471 + +3920 +1084 +4979 +3939 +1770 +3703 +1152 +4529 +5107 +2015 +2219 +5927 +1278 +5955 +1089 + +4397 +3826 +4466 +5239 +4252 +5282 +4799 +1304 +2415 +2410 +2274 +5387 +1988 +2832 +6045 + +4378 +6750 +10740 +13078 +3530 +4127 + +49692 + +2066 +18338 +2268 +5102 + +14892 +9200 +7896 +2929 +15232 + +19812 +32572 + +9976 +2611 +13203 +5570 +11153 +5662 + +36870 +32349 + +4706 +5222 +6886 +6591 +2468 +7409 +3359 +2406 +3148 +4911 +1916 + +6467 +1320 +4005 +6343 +3878 +4489 +9372 +3094 +7544 + +3947 +1050 +3981 +4744 +3554 +4837 +4250 +2043 +1835 +1241 +3644 +4384 +3020 +5362 +1526 + +7284 +2864 +5799 +1178 +3401 +5905 +5165 +4614 +4444 +6816 +7764 + +16810 +8023 + +3539 +3058 +4349 +1681 +6743 +6362 +4657 +1784 +6327 +6208 +5791 +3005 +4895 + +5594 +6187 +3228 +9350 +7580 +7880 +7025 +7708 +6845 + +17364 +21708 +18029 + +1319 +5649 +4974 +1020 +5994 +3808 +6597 +2955 +1286 +2611 +7171 +7455 + +4698 +4359 +6493 +10361 +2469 +8957 +6003 +2315 + +5640 +1645 +5958 +5900 +5252 +5635 +5109 +6010 +2800 +4106 +5045 +2142 +3958 + +12044 +2521 +5040 +2492 +1303 + +13259 +9994 +11909 +1837 +9723 +3576 + +8880 +10106 +6982 +2660 +10392 +11186 +3976 + +7019 +4976 +3671 +5070 +7475 +5928 +2449 +2493 +3296 +3670 + +15028 +9325 +2762 +10082 +8250 + +10739 +1473 +16919 + +8508 +13859 +4973 +1578 + +25794 +18161 +19633 + +8105 +6980 +1013 + +3074 +2012 +1626 +1572 +2784 +6136 +4692 +2653 +6144 +1875 +4248 +6430 +1381 +2853 + +10687 +5423 +1011 +3092 +4127 + +8642 +5106 +9038 +2188 +9360 +4232 +4993 +1949 +5812 + +2143 +1039 +6975 +9893 +2685 +10361 + +1737 +2651 +1248 +8953 +5328 +7754 +7213 +6237 +6923 + +10310 +4157 +10056 +5610 +6765 +8579 +2518 +10263 + +8314 +3395 +6408 +1446 +8922 +2433 +6172 +7375 +2360 + +6246 +3401 +4016 +4599 +6351 +6958 +4174 +2707 +2812 +3225 +2887 +4995 +5737 + +2232 +14703 +10506 + +10622 +12187 +7851 +1543 +11457 + +11456 +9663 +9068 +6380 +5945 + +6881 +1977 +10997 +8110 +11591 +7071 +8285 + +8164 +2663 +8024 +9441 +5027 +9077 +6889 +7045 +8717 diff --git a/2022/day01/main.mjs b/2022/day01/main.mjs new file mode 100644 index 0000000..c6852ce --- /dev/null +++ b/2022/day01/main.mjs @@ -0,0 +1,32 @@ +import fs from 'node:fs' + +fs.readFile('input', 'utf8', (err, data) => { + let cleanedData = [] + data.split(/(\r?\n){2,}/gm).forEach(data => { + if(data !== '\n'){ + cleanedData.push(data.split('\n').map(n => {return Number(n)})) + } + }) + let highestValues = findHighest(cleanedData) + console.log('Part 1: The elve with the most calories carries: ' + highestValues[0] + ' calories') + let sumTop3 = highestValues[0] + for(let i = 0; i < 2; i++) { + cleanedData.splice(highestValues[1], 1) + highestValues = findHighest(cleanedData) + sumTop3 += highestValues[0] + } + console.log('Part 2: The three elves with the most calories carry: '+ sumTop3 + ' calories') +}) + +function findHighest(numberArray) { + let highestNumber = 0 + let highestIndex = 0 + numberArray.forEach((part, index) => { + let sum = part.reduce((a, b) => a + b, 0) + if (sum > highestNumber) { + highestNumber = sum + highestIndex = index + } + }) + return [highestNumber, highestIndex] +} diff --git a/2022/day02/input b/2022/day02/input new file mode 100644 index 0000000..b806ad0 --- /dev/null +++ b/2022/day02/input @@ -0,0 +1,2500 @@ +A X +B X +C X +C Y +B Y +C Z +C X +C Y +C Y +B Y +B Y +C Z +C Y +A Y +B Z +B Z +C Y +B Z +A Y +C Y +B Y +C Y +B Y +B X +A Y +A Y +C Y +B X +C X +B Y +A Y +C Z +C X +B Y +B Y +A Y +C X +B Y +B Y +B Z +B Y +A X +C Y +A Y +B X +C Y +A Y +C X +A Z +A X +C Y +A Y +A Y +B Z +B Y +A Y +C Y +B Z +C Y +A Y +A Y +C Y +B Y +B X +B X +C Y +B Y +B X +A X +B Z +A X +B Y +A Y +B Z +B X +B Y +A Y +C X +C Y +C Y +A Y +A Z +C Z +A Y +B Z +C Y +A Y +C X +C Z +B Z +B Y +B Y +A Y +C Z +C Y +B Y +A Z +A Y +A Z +A Y +A Y +A Y +A Y +C Y +B Y +B Y +A Z +A Y +A Y +A X +B Z +C Y +A Y +B Y +B Y +A Y +A Y +B Y +B Y +C X +C Y +B Z +C Y +C Y +B Y +B Z +C X +A X +A X +A Z +B Y +B Z +C Y +C Y +C Y +A Y +C X +B X +B Y +B Y +C Y +C Z +C Y +A Y +C Y +B Z +C X +B Y +A Y +C Y +C Y +C Z +B X +B Y +B Y +A Y +C Z +C Y +B Y +C Y +B Z +C Y +A Y +B Y +B Z +C X +A Y +B Y +B Y +C Z +A Y +C Y +A X +B Y +B Y +B Y +B Z +B X +C Y +B X +C Z +B Y +B Y +C Y +B Y +B Z +A X +C Z +B Y +C Y +C Y +C X +C X +A Y +C Y +B Z +C Y +B Y +C Z +B X +A X +A Y +B Y +C Z +C Z +C Y +B X +B X +B X +B Y +B X +C Y +C Y +B X +B Y +B Z +B Z +C Y +C Y +A Y +B Y +B Y +B Y +B Y +B X +A Y +B Y +C Z +B Z +C Y +B Y +B Y +B X +A Y +C Z +C Y +C Y +C Y +C Z +C Y +B X +C X +C Z +B X +B Y +A Y +C Y +A Y +B Y +B X +C X +C X +C Y +C Y +C Y +B Y +C Y +A Y +B Y +A Y +C Z +B Y +C Y +A Y +B Y +A Y +A Y +B X +B Y +B Y +A X +C X +B X +C Y +A Y +B Y +A Y +C Z +B Y +C Z +B Z +B Y +A Y +C Y +C X +B X +C Y +A Z +A X +B Z +A Y +B X +C Y +C Y +C Y +A Y +C Z +A X +B Z +C Y +B Y +B Y +B Y +C Y +A Y +C X +B X +B X +C Y +B Z +C Y +B X +C Y +B Y +A Y +C Y +B Z +A Y +A Y +C Y +B Y +B X +A Y +C Z +B Y +C Z +B X +B Y +A Y +C Z +C Y +C Y +B Y +C Y +B X +C Y +B Y +B X +C Y +B X +A X +B Y +A Z +C Y +A Y +B Y +B X +C Y +B X +C Y +C Y +B Y +C Y +C Y +B X +B X +C Y +A Y +B X +C Y +B Y +A Y +B X +B Y +A Y +A Z +A Y +C Y +A X +B Y +C Z +B Y +A Y +B Y +A X +C X +B Y +A Y +A Y +B Y +B Y +B Y +A Y +B Z +C X +A Y +B X +B Y +A Z +B Z +A X +B Y +C X +C X +A Y +B Y +C Y +B Z +B Y +A Z +C Z +A Y +A Y +A X +B Y +B Y +C X +A Y +C Z +A Y +A Y +B Y +A Y +B Z +B Y +B X +C X +C Y +A Y +B Z +A Y +B Y +A Y +A Y +C Y +A X +C Y +B X +B X +B Y +B X +B Z +B Y +C Y +C Y +C Z +B Z +A Z +B Y +C Y +C Y +C Y +B Y +A Y +B Z +C Y +C Z +B Y +B Y +B Y +B Y +C X +B Z +A Y +A Y +B Y +B X +B Y +B X +A Y +C Y +B X +B Y +C Y +B Y +C Y +C Y +C X +B Y +B X +C Z +B Y +A Y +B X +C Y +A Z +C Y +C X +B Y +C Z +C Y +B X +C Y +A Y +A X +B X +C X +A Y +C Z +C Y +B Y +B X +C Y +B X +B Z +B Z +B Y +B Z +B X +C Y +C Y +B Y +B Y +C Y +B Y +B Y +B Z +B Y +A X +B Y +C X +B Y +A X +C Y +B Y +A Y +B Z +B Z +A Y +A X +C Y +B Y +B Y +C X +A Y +C Y +B Y +C Z +B X +A Y +A Y +B Z +A Y +B X +B X +C Y +A X +B X +B X +B Y +B Y +B Y +B Z +A Y +C Y +A Y +C Y +A Z +C X +B Y +C Y +B Y +C Y +B X +B Z +A X +A Y +C Y +C Y +B Y +A Y +A Y +A Y +A Y +A Y +C Y +C X +B Y +B Z +B Z +B Y +B Z +B Z +B X +A Y +B Z +B Y +C Z +B Y +C Z +A Z +C Y +C X +B Y +B Y +B Y +A Z +C Y +A Y +B Y +A Y +A Y +A X +B Y +B Z +B X +A X +C Z +B X +C Y +B X +B Y +B X +A Y +B X +B Y +C Z +C Y +C X +B Y +B Y +A X +C Y +B Y +A Y +C Y +C X +B Z +C Y +A Y +C X +B Y +C Y +C X +C X +C Z +C Y +C X +A Y +C Y +C Y +B X +B X +B Y +C Z +B Y +B Z +B Y +C Y +B X +A Y +B Y +B Y +B X +B Y +B Y +C Y +B Z +B Y +C X +A Y +A Y +C Y +C Z +B Y +B X +C Y +C Y +C Y +A Y +C X +A Y +B Y +B X +A Y +B Y +C Y +B X +C Y +B Y +A Y +A Z +C Y +B Y +C Y +A Y +B X +B X +B Y +C Y +B X +B Y +C Z +C Y +C Y +A Y +C Y +B Z +B Z +B Y +C Y +C Z +A X +B Y +B Z +C Z +B X +A Y +A X +B X +B X +A Z +B X +C Y +C Y +B Y +C Y +B Y +A Y +B Y +C X +B Z +C X +B X +C X +B Y +C Y +C Y +B Y +B Y +C Y +C X +B X +A Y +C Y +A X +B Y +B Y +B Y +C Y +B Z +C Y +C Z +B X +C Y +A Y +B Y +A Y +C Y +A Z +B Z +B Y +A Y +B Z +B Y +C X +B Y +C Y +C Y +A Y +C Y +A Y +B Y +C Z +C X +C Y +C X +B X +B Y +C Z +A Y +C Y +C Z +C Y +C Y +C Y +B Y +B Z +B Y +C Y +C Z +B Z +C Y +C X +A Z +B Y +A Y +B Y +B Y +A X +C Z +C Y +B Y +B Y +C Y +C Y +B Y +C Y +C Y +B X +B Y +C X +B X +B Y +C X +C Y +B Z +C X +C X +B Y +A Y +B Y +C Y +B X +A Y +C Y +C X +C X +A Z +B Z +A Y +C Y +C Y +A X +A Y +B Y +B Y +C Y +C Y +C Y +C Z +B Y +C Y +A Y +B X +C Z +A Y +C X +B Y +B Y +B Y +C Z +B Y +C Y +B Y +B X +C Y +C Y +A Y +B Y +B Y +B X +B Y +B Z +B Y +A X +C Y +B X +B Y +B X +B Y +B Y +C Y +C Y +C Y +B Y +B Y +B X +A Y +C Z +B X +B X +C X +C Y +A Y +B Y +B Y +C Y +C Y +C Z +A X +B X +A X +A Z +A X +C Y +C Y +A X +B Y +C Z +B X +C Y +B X +B Y +B Y +B X +C Y +B X +A Y +B Y +B Y +B X +B Y +C Y +B Y +B Y +C Y +C Y +B X +C Y +B X +C Y +C Y +C Z +C Y +B X +B Y +A Y +C Y +A Y +B Y +C Y +C Y +B X +B Y +B Y +A Y +B Y +A Y +B X +A X +C X +B Y +A Z +A Y +B X +B X +A Y +B X +B X +C X +C X +B X +B Z +C Z +A Y +B X +B Y +B Z +C Y +C Y +C Y +A Z +B X +B Z +B X +B Y +B Z +B Y +B Z +C Y +B Y +C X +C Y +B X +C Z +A Z +A X +B Y +C Y +A Y +C Y +A Y +A X +C Y +B Y +B Y +A Y +C Y +C X +B Z +B Y +B Z +C Y +A Y +C X +A Y +C Y +C Y +B X +C Y +A Y +C Y +C X +B Y +B Z +A Y +B X +A X +A Y +C Y +B Y +A Y +B Y +C Y +C Z +B X +A Y +A Y +A Y +A Z +A Y +B Y +C Y +C Y +B Z +B X +C Y +A Y +B X +B Y +B X +C Y +B Y +A X +C X +C Y +B X +B Y +B Z +B X +B Y +A Y +B X +B Z +C Y +A Y +C X +C Z +C X +A Z +B Z +B Y +C X +B X +C Y +B Y +A Y +C X +A Y +B X +B Y +C Y +B Y +C Y +B Z +B X +A Y +A X +C Y +C Y +B Y +B Y +B Y +B Y +C Z +A X +C Y +C Y +B Y +B Z +C Z +A Y +B X +C Y +C Y +B Z +B Y +B Y +B X +B Z +B Y +C Y +C Y +C Y +B Y +A X +A Y +C Y +A Y +A X +A Y +C Y +B X +C Y +C X +B Y +B Y +C Z +C Z +B Y +B Y +C X +C Y +B Z +A Y +C X +B X +C Y +B Y +B Z +A Y +B Z +B X +B Y +A Y +B Y +C Z +A Y +B X +A Y +B Y +B X +A Y +C Y +A Y +B Z +B Z +B Y +A X +A Y +C Z +B Y +B Z +C Y +B Y +B X +B Z +B Y +A X +A Y +C Z +C Y +A Z +B Z +B X +B X +B Y +C Y +B Y +C Y +B Y +B Z +C Z +B X +A Y +C Y +C Y +C Y +C X +C Y +A Y +B X +A Y +B X +A Y +C Y +A Y +B Y +B Y +C Z +B Y +C Y +C Y +B Z +A Y +C Y +B Y +B Y +C Y +C Z +B X +A Y +C X +C Y +B Y +B X +A Y +B Y +A Y +A X +C X +C Y +C Y +A Y +B Y +A Y +A Y +A Y +B X +B Z +C Z +C Z +B X +C Y +B X +C Y +B X +C Y +C Y +C Y +B X +B Y +A Z +C Y +B X +C Y +B Y +B Y +C Y +A Y +C Y +B X +B Y +A X +C Y +C Y +B Y +B X +B Z +C Z +A Y +A Y +B Y +A X +A Y +B X +C Y +B Z +B Y +B Z +B Y +A Y +B Y +B Y +B X +A X +B Z +B Y +A Y +B X +B Z +B Y +B X +C Z +C Z +B X +A Y +C Y +C Y +B Y +C Y +B Y +B Y +B Y +B X +B Z +B Z +B Y +B X +B Y +B X +B Y +C Z +C Y +B Z +C Z +C Y +B Y +C X +C Z +B X +C Y +C Y +B Y +C Y +B Z +B Y +B Y +A Y +C Y +C X +A Y +C Y +B X +B Y +C Y +B X +C Y +C Y +C X +C Z +B X +C X +A Y +B X +A Y +B Z +A Z +C Y +A Y +A X +B Y +B Z +A Y +B Y +C Y +A Y +B Y +C X +C Y +C Y +C X +C X +C Y +B X +B Z +C X +B Y +C Y +C Y +C Y +C Z +B Z +C Z +B Z +C X +B Y +A Z +C Z +B Y +B Y +B Y +C Y +B X +B X +B Y +C Y +C X +A Y +C Z +B Z +A Y +B Y +B Z +C Y +B X +C X +A Y +B Y +B Y +C Z +B X +A Z +C Z +B X +C Y +B X +C Y +C X +C Y +C Y +C Y +B Y +B Z +B Z +C Y +B Z +C Y +C Z +B Y +C Y +C Y +C Z +B X +A Y +B Y +B Y +B Y +A Z +B X +C Y +C Y +A Y +C Y +C Y +B X +C X +A Y +B Y +A Y +C Z +A Y +C Z +B Z +A Z +A Y +B X +C Y +B X +C Y +C X +A Y +B Y +B Y +C Z +C Z +B Z +C Y +B Y +B Z +B X +A Z +C Y +C X +B Y +C Z +A Y +B X +C X +C X +B Z +C X +B Z +B Z +A Y +B Y +B X +B Z +C X +B Y +A Y +C Y +C Y +B Y +B Z +C X +B Y +B Y +C Y +A Y +C Z +C Z +B Y +B Y +B X +C Y +B X +B Y +C Y +C Y +B X +B Z +B Y +C Z +A Y +A X +C Y +A Y +B Z +B X +B Z +B Z +B Y +B Y +B Y +A Y +A X +A Y +B Y +A Y +C Y +C Y +C Y +B Y +C Y +C Y +B X +C Y +B Y +A Y +A Y +C Z +B Y +B X +C X +B X +B Y +A Y +B X +B Y +B Z +C Y +A Y +A Z +B X +C Y +C X +B Y +B X +C Y +C Z +C Y +A Y +A X +C Z +C X +A Y +A X +B Y +C X +C X +C Y +C Z +C X +B Z +B Y +A Y +B Y +C Y +C Y +C Y +C Y +C X +B Y +A Y +A Y +C Y +A Y +A Y +C Y +A Y +C X +B X +A Y +A Y +A Y +A Y +B X +C Y +A Y +C Y +B Y +B Y +C Y +B X +C Y +A Y +C Z +A X +B X +C Y +C Y +B Y +A Y +A Y +C Y +C X +B X +B Z +B X +C X +A Y +B Y +B X +B Y +B Z +A Y +B Y +B Z +A Y +C Z +B Y +C X +C Y +A Y +C Z +C Y +B X +B Y +C Y +C Z +A Y +B X +B X +A Y +B Z +B Y +C Z +B X +B X +C Z +A Y +C Z +A Y +C X +B X +C Y +A Y +B Z +B Y +B X +C Z +A Y +B X +C X +C Y +B Y +C Z +C Y +C Y +A Y +C Z +C Y +A Y +B Y +B Y +C Y +A Y +B Y +B Y +B Z +A Y +C Z +A Z +C Z +B X +B Y +C X +A Y +A Y +C Y +A Y +B Y +C X +A X +A Y +B Y +C Y +C X +A Y +A Y +B X +C Y +B Y +C Z +C X +B X +C Y +A X +A Y +A Y +B Y +C Y +C Z +A Y +B Y +C Y +C Y +B X +A Y +B Y +B X +C Y +B Z +C Y +B X +A Y +B Y +C Y +C Z +B Y +C Y +A Z +C Z +B X +B Y +C Y +B Y +A Y +B Y +B X +C Z +C Z +C X +B Y +C Y +C Y +B Y +B Y +A Y +B Z +B X +C Y +B Y +C Y +B Z +C Z +C Z +C Y +B Y +A Y +C X +B X +B X +B Y +C Y +C Y +B Y +B Z +C Y +B X +C Y +C Z +B X +A Y +B X +C Y +C X +A Y +B X +A Y +A Y +C Y +B Y +C Y +B X +C Y +B Y +C Y +B X +C Y +B Y +A Y +A Y +C Z +B X +C Y +C Z +B Y +A X +C X +B X +B X +C Y +B X +C X +B Y +A Y +B Y +C Y +B Y +C Y +C Y +A X +C X +C Y +B Y +B Y +C Y +C Y +A Y +A Y +C Z +C Y +C Y +B X +A Y +C Z +B Y +B Y +B Y +C Z +B Z +B Z +C X +C Y +B Y +B Y +A Y +C Y +C Y +B Y +C Y +A Y +C Y +B Y +C Y +B Z +B Y +A Y +B Y +B X +C Z +C X +C X +A Y +C Z +B Y +B X +A Y +B Y +A X +B Y +B Y +B Y +B X +C Y +C Y +A Y +A Y +B Y +B Z +B Y +B X +B Z +C X +B Y +A Y +B Z +B X +A Y +B Y +A Y +B X +B X +B X +B Y +C X +B X +C X +C Y +B Y +A X +B Y +C Y +B Y +C Y +B Y +B Y +A Y +B Z +B X +B Y +B Y +B Y +A Z +A Y +C Y +C Z +C X +B Z +C Y +B Y +A Y +B X +B Y +C X +B X +B Y +C Y +B Z +C Y +B Z +B Z +B Y +B X +B Y +B Y +B Y +C Y +A Y +A X +C Y +B Y +C Z +B Z +C Y +C X +B X +C X +B X +C Z +A Y +C Y +B Z +C Y +A X +B Z +B Y +B X +B Y +B X +C X +C X +B Z +B Z +C Y +B Y +B X +B X +B Z +A Y +A Y +A Y +B Z +B X +C Z +B Y +B Y +C Y +C Y +B X +B Y +C Y +B Y +B Y +A X +B Z +A Z +B Z +C X +B Z +A Y +B Z +B Y +B Z +A Y +B Y +C Y +C Z +B Y +C X +B X +B Y +A Y +B Z +C Y +C X +C Z +A Y +B Y +C Y +A X +C Z +B X +C Y +A Y +B Y +B Z +A Y +B X +C Y +B Y +C Z +C Y +B Y +B Y +C Y +C Y +C Y +A Y +B Z +C Y +B X +A Y +C Y +A Y +A X +B Z +A Y +B X +B Y +B X +A Y +C Z +B Y +B Z +C X +C Y +C Y +B Z +B Y +C Y +C X +C Y +C Y +B Y +B Y +A Y +B X +C Y +C Y +C Y +C Y +B Y +B Y +C Z +C X +B Y +C Z +A Y +B X +A Y +B Y +C X +B X +B X +B Y +A X +C X +C Y +B Y +C Y +C X +B Y +C Z +B Y +A Y +C Y +C Y +A X +A Y +C Y +A Y +A Y +C Y +A Y +B Y +A Y +B Z +B X +A X +A X +A Z +B Y +B Y +C X +C Y +C X +C X +A Y +B X +B Y +B Y +A X +B X +B Y +B Y +C Y +B Y +C Y +C X +A X +C Y +B Y +C Y +B Y +C Z +B X +B Y +B X +B X +C Y +B Y +A X +C Y +B Y +B X +A Y +B X +A Y +C Y +B Z +B Y +A Y +A Y +B Y +B X +B Y +C Y +B Y +B Y +A Y +A Y +C Y +B Y +C Z +C X +C Z +C X +C Z +A Y +B Y +A Y +C Y +C Y +B Y +C Y +B X +B X +A Y +B Y +B Y +A Y +B X +B Y +B Y +C X +C Y +C X +C Y +C Y +C Y +C X +C Z +B X +B Y +C Y +B Y +B Y +C Y +B X +C Y +B Y +B Y +B Z +B X +A Z +C Y +C Y +A Y +B Y +B Y +A Y +B X +C Y +B Y +B Y +B Z +B X +C Y +B Y +A Y +B Z +C Y +C X +C Y +C Y +B Y +A Y +C Y +C X +A Y +B Y +B Z +B X +C Z +A X +C Y +B Y +B Z +C Y +B Y +B Y +B Y +B Y +C Y +B Y +C Y +B Y +A Y +A Y +A X +B Y +C Y +C Y +C Y +C X +C Z +C X +B X +A Y +C Y +A Y +B Y +C Y +C Z +A Y +B X +B X +A Y +B X +C Y +B Y +B Y +B Y +B Y +C Z +C Y +B Y +B X +A Y +B Z +A Y +C Y +B Z +A Y +B Y +C Y +C Y +B Y +B Y +C Y +A Z +C Y +C X +C Y +C Y +C Y +B X +C Y +A Y +C Y +B X +B Y +C Y +C X +B Y +B Y +A Y +B X +A Y +A Y +B Y +A Y +C Y +B Y +B Z +A Y +C Z +B Y +B Y +B X +A Y +B X +C Y +A Y +A Y +A Y +B Y +B Z +C Y +C Y +B X +A Y +C Y +A Y +B Y +B X +B Y +B Y +C X +B Y +B Y +B Y +B Y +A Y +A Y +C Y +A X +B X +A Y +B X +B Z +B Z +B Z +B Y +B Y +C Y +C Y +C Z +B Z +B Z +C Y +B Y +B Y +C X +C Y +C Y +B Y +A Y +B X +A Y +B Y +A Y +C Y +B Z +A Y +B Y +B Y +B Y +C Z +A Y +A Y +C Y +B Y +C Y +B Y +C Y +B Z +C Y +C X +C Y +C Y +B Y +A X +C Y +A Y +C X +A X +A Y +B Z +C Y +C Y +B Y +C Y +C Y +B Y +C Y +C Z +B Y +A X +C Y +B X +A Y +C Y +B Z +B Y +B Z +A Y +B Y +B Z +C X +B Y +C Y +A X +C X +A X +B Y +B X +C Y +C Y +B Y +B Y +C Y +B Z +C X +A Y +A Y +B Y +B X +B Y +A Y +B Y +B Z +C X +A Y +B X +C Y +C Y +A X +B Y +C Z +B X +B Y +B Y +C Y +B Z +B Y +B Z +A Y +C Y +C Y +B Y +C Z +C Y +A X +A Y +C Y +B Z +A Y +A X +C Y +B X +B X +A Y +B Y +B Z +A Y +C Y +B Y +C Z +C Y +C Y +B Y +C Y +B Z +C Y +B Y +C Z +A X +A Y +A Z +C Y +B Y +B Z +B X +B X +C Y +A X +C Y +B X +B X +C Y +A Z +B X +A Z +B Y +B Y +A Y +B Z +C Y +B Y +C Y +C Y +A Y +C Y +B Y +C Z +C Z +B Y +B X +C Y +C Y +C Y +B Y +C Y +B Z +B Z +A X +C X +B X +C Z +C Y +B X +B Y +A Z +C Y +B Z +B Y +C Y +B X +B Z +B Y +A Y +B Y +B X +C Y +B Y +B Z +C Y +C Z +C Z +C Y +A Y +C X +B Y +A Y +B Z +C Y +A X +C X +C Z +C Z +A Y +B Y +C X +C Y +C Y +B X +C X +C Y +B X +B X +C Y +B Y +B Y +B Y +B Y diff --git a/2022/day02/input.test b/2022/day02/input.test new file mode 100644 index 0000000..db60e36 --- /dev/null +++ b/2022/day02/input.test @@ -0,0 +1,3 @@ +A Y +B X +C Z diff --git a/2022/day02/main.jar b/2022/day02/main.jar new file mode 100644 index 0000000..7d287d4 Binary files /dev/null and b/2022/day02/main.jar differ diff --git a/2022/day02/main.kt b/2022/day02/main.kt new file mode 100644 index 0000000..862bb8a --- /dev/null +++ b/2022/day02/main.kt @@ -0,0 +1,35 @@ +import java.io.File +import java.io.InputStream + + +fun main(args: Array) { + val inputStream: InputStream = File("input").inputStream() + val lineList = mutableListOf() + inputStream.bufferedReader().forEachLine{ + val janken: List = it.split(" ").map { when(it) { + "X" -> "A" + "Y" -> "B" + "Z" -> "C" + else -> it + }} + var score: Int = when (janken[1]) { + "A" -> 1 + "B" -> 2 + "C" -> 3 + else -> 0 + } + if (janken[0] == janken[1]) { + score += 3 + } else if (janken[0] == "A") { + score += if (janken[1] == "C") 6 else 0 + } else if (janken[0] == "B") { + score += if (janken[1] == "A") 6 else 0 + } else if (janken[0] == "C") { + score += if (janken[1] == "B") 6 else 0 + } + println(janken) + lineList.add(score) + } + println("My score will be " + lineList.sum()) + println(lineList.size) +} diff --git a/2022/day02/main.mjs b/2022/day02/main.mjs new file mode 100644 index 0000000..08c821c --- /dev/null +++ b/2022/day02/main.mjs @@ -0,0 +1,66 @@ +import fs from 'node:fs' +import readline from 'node:readline' + +const rl = readline.createInterface({ + input: fs.createReadStream('input'), + output: process.stdout, + terminal: false +}) + +let completeScore = 0 +rl.on('line', line => { + let score = 0 + let janken = line.split(' ').map(symbol => unencrypt(symbol)) + switch(janken[1]) { + case 'Rock': + score += 1 + break + case 'Paper': + score += 2 + break + case 'Scissors': + score += 3 + break + } + if (janken[0] === janken[1]) { + score += 3 + } else if (janken[0] === 'Rock') { + if (janken[1] === 'Paper') { + score += 6 + } + } else if (janken[0] === 'Paper') { + if (janken[1] === 'Scissors') { + score += 6 + } + } else if (janken[0] === 'Scissors') { + if (janken[1] === 'Rock') { + score += 6 + } + } + janken.push(score) + console.log(janken) + completeScore += score +}) + +rl.on('close', () => { + console.log("The complete score is: " + completeScore) +}) + +function unencrypt(encSymbol) { + let symbol + switch (encSymbol) { + case 'A': + case 'X': + symbol = 'Rock' + break + case 'B': + case 'Y': + symbol = 'Paper' + break + case 'C': + case 'Z': + symbol = 'Scissors' + break + } + return symbol +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..35ae323 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Nikurasus Answers to Advent of Code +Here I will post all of my solutions to the funny event advent of code from the year 2022 and ongoing :D