From cfeab937223a3af9d856e8eb68476d4dd26e0c79 Mon Sep 17 00:00:00 2001 From: Jona Krampe <98342891+Zormm@users.noreply.github.com> Date: Tue, 20 Dec 2022 07:35:29 +0000 Subject: [PATCH] Added the Entrys for the Days 1 - 7 --- Advent of Code 2022 Day 1/.classpath | 10 + Advent of Code 2022 Day 1/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 1/input.txt | 2244 +++++++++++++++ Advent of Code 2022 Day 1/src/main.java | 47 + Advent of Code 2022 Day 2/.classpath | 10 + Advent of Code 2022 Day 2/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 2/input.txt | 2500 +++++++++++++++++ Advent of Code 2022 Day 2/src/main.java | 93 + Advent of Code 2022 Day 3/.classpath | 10 + Advent of Code 2022 Day 3/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 3/input.txt | 300 ++ Advent of Code 2022 Day 3/src/main.java | 92 + Advent of Code 2022 Day 4/.classpath | 10 + Advent of Code 2022 Day 4/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 4/input.txt | 1000 +++++++ Advent of Code 2022 Day 4/src/main.java | 51 + Advent of Code 2022 Day 5/.classpath | 10 + Advent of Code 2022 Day 5/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 5/input.txt | 14 + Advent of Code 2022 Day 5/src/main.java | 182 ++ Advent of Code 2022 Day 6/.classpath | 10 + Advent of Code 2022 Day 6/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 6/input.txt | 1 + Advent of Code 2022 Day 6/src/main.java | 58 + Advent of Code 2022 Day 7/.classpath | 10 + Advent of Code 2022 Day 7/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code 2022 Day 7/bin/input.txt | 1013 +++++++ Advent of Code 2022 Day 7/src/Directory.java | 88 + Advent of Code 2022 Day 7/src/File.java | 19 + Advent of Code 2022 Day 7/src/input.txt | 1013 +++++++ Advent of Code 2022 Day 7/src/main.java | 70 + Advent of Code Template/.classpath | 10 + Advent of Code Template/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 14 + Advent of Code Template/input.txt | 0 Advent of Code Template/src/main.java | 28 + 43 files changed, 9229 insertions(+) create mode 100644 Advent of Code 2022 Day 1/.classpath create mode 100644 Advent of Code 2022 Day 1/.project create mode 100644 Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 1/input.txt create mode 100644 Advent of Code 2022 Day 1/src/main.java create mode 100644 Advent of Code 2022 Day 2/.classpath create mode 100644 Advent of Code 2022 Day 2/.project create mode 100644 Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 2/input.txt create mode 100644 Advent of Code 2022 Day 2/src/main.java create mode 100644 Advent of Code 2022 Day 3/.classpath create mode 100644 Advent of Code 2022 Day 3/.project create mode 100644 Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 3/input.txt create mode 100644 Advent of Code 2022 Day 3/src/main.java create mode 100644 Advent of Code 2022 Day 4/.classpath create mode 100644 Advent of Code 2022 Day 4/.project create mode 100644 Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 4/input.txt create mode 100644 Advent of Code 2022 Day 4/src/main.java create mode 100644 Advent of Code 2022 Day 5/.classpath create mode 100644 Advent of Code 2022 Day 5/.project create mode 100644 Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 5/input.txt create mode 100644 Advent of Code 2022 Day 5/src/main.java create mode 100644 Advent of Code 2022 Day 6/.classpath create mode 100644 Advent of Code 2022 Day 6/.project create mode 100644 Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 6/input.txt create mode 100644 Advent of Code 2022 Day 6/src/main.java create mode 100644 Advent of Code 2022 Day 7/.classpath create mode 100644 Advent of Code 2022 Day 7/.project create mode 100644 Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code 2022 Day 7/bin/input.txt create mode 100644 Advent of Code 2022 Day 7/src/Directory.java create mode 100644 Advent of Code 2022 Day 7/src/File.java create mode 100644 Advent of Code 2022 Day 7/src/input.txt create mode 100644 Advent of Code 2022 Day 7/src/main.java create mode 100644 Advent of Code Template/.classpath create mode 100644 Advent of Code Template/.project create mode 100644 Advent of Code Template/.settings/org.eclipse.jdt.core.prefs create mode 100644 Advent of Code Template/input.txt create mode 100644 Advent of Code Template/src/main.java diff --git a/Advent of Code 2022 Day 1/.classpath b/Advent of Code 2022 Day 1/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 1/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 1/.project b/Advent of Code 2022 Day 1/.project new file mode 100644 index 0000000..837089c --- /dev/null +++ b/Advent of Code 2022 Day 1/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 1 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328686 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 1/input.txt b/Advent of Code 2022 Day 1/input.txt new file mode 100644 index 0000000..ff54adb --- /dev/null +++ b/Advent of Code 2022 Day 1/input.txt @@ -0,0 +1,2244 @@ +10062 +15651 +1271 +14355 +7220 + +4878 +1754 +8466 +4741 +2582 +3003 +5327 +3172 +1327 +6310 + +22413 +4145 +22294 + +23108 +30453 + +2084 +3496 +4800 +1388 +8728 +6380 +6397 +2558 +2120 +6159 + +25265 +20200 +2083 + +7424 +5830 +2575 +2825 +2234 +6106 +5505 +2847 +2059 +7145 +7223 + +58621 + +2926 +9188 +7432 +1639 +7420 +1161 +5517 +2703 +5446 + +2457 +5814 +1294 +3280 +8531 +8214 +4736 +1964 +1155 +2380 + +2812 +1827 +5533 +1756 +1491 +4127 +6452 +5935 +1415 +6221 +3489 +2681 +4849 +5250 + +2922 +10365 +5819 +10227 +2962 +2702 + +2982 +9254 +14137 +5026 +9374 + +5933 +2888 +2250 +4514 +1825 +5616 +3497 +2988 +1181 +3836 +1032 +5847 +5383 + +5044 +5922 +3155 +1610 +5510 +5016 +6666 +7024 +4649 +2764 +6444 + +12932 + +4764 +4285 +1278 +5020 +5917 +1888 +4757 +6323 +5067 +1314 +1530 +5748 +5573 +5848 + +6078 +6687 +5510 +7642 +6719 +4376 +7733 +1356 +4064 +4159 + +7426 +1147 +4176 +2797 +9484 +7907 +10806 + +24981 +21675 +9324 + +5537 +5730 +1280 +2090 +2963 +5992 +6043 +5141 +3039 +2120 +3664 +3816 +3859 +5406 + +1315 +8662 +2280 +11800 +10201 +3886 + +3048 +4147 +3299 +3912 +1571 +4582 +1621 +2201 +4543 +5377 +3016 +5297 +5213 +1338 +3929 + +5456 +4051 +1621 +5228 +2672 +3277 +4006 +4954 +1487 +5361 +3298 +4335 +3015 +1139 + +2875 +6387 +2926 +5439 +3494 +5287 +3793 +3714 +4944 +1094 +6728 +3302 +6345 + +9641 +5967 +10265 +1129 +3759 +5632 +4913 +6151 + +5890 +4285 +3601 +3344 +7294 +6321 +2730 +6352 +2350 +7214 +4034 +1032 + +4266 +2086 +12754 +8475 +5044 +9616 + +27815 +19415 + +7914 +11106 +6938 +10695 +6902 +2983 +3710 + +7659 +3565 +1310 +11842 + +8750 +17624 +9697 +16020 + +4606 +6296 +2321 +1272 +3504 +7121 +2313 +8016 +7910 +4786 + +11012 +12831 +3980 +12204 + +7996 +7933 +1500 +1810 +4030 +8645 +1710 +7506 +8096 +8661 + +5694 +4145 +3095 +3963 +2396 +5197 +6086 +6793 +5924 +5043 +1241 +5011 + +2410 +7373 +6724 +2641 +1827 +8344 +6833 +8336 +6517 +1376 + +6084 +9909 +1760 +10864 +4904 +6734 +9492 + +8002 +4098 + +17545 +1504 +17040 +14118 + +1103 +5378 +6135 +6207 +3143 +5550 +5723 +5494 +2841 +1461 +2413 +2252 +1904 +3474 + +1788 +5889 +7810 +8520 +5415 +4633 +1422 +9526 +6762 + +1187 +2137 +6551 +8399 +1510 +7099 +3465 +5179 + +7056 +3142 +3237 +4910 +6656 +3680 +2619 +5549 +5737 +4493 +5359 +1336 + +4690 +6692 +4638 +5490 +6449 +1518 +5872 +7935 +7742 +1895 +4528 + +4929 +5947 +5044 +1627 +5037 +6646 +5949 +2142 +2362 +3050 +6390 +5467 +5496 + +11896 +13381 +1055 +3993 +4275 +12480 + +1903 +1527 +3280 +3748 +3315 +1058 +2541 +4245 +4386 +4792 +4937 +2345 +2551 +1901 + +2674 +9184 +3423 +1954 +2788 +5954 +7827 +4466 +4901 + +4653 +12104 +14737 +8740 +4164 + +5317 +5734 +4580 +3244 +5509 +4009 +2576 +4137 +1282 +5506 +3530 +3057 +5408 +5952 +1849 + +9691 +16403 +16828 + +3653 +6762 +2042 +4618 +4212 +6293 +4782 +2071 +6303 +1662 +6814 + +3720 +6801 +2350 +4456 +4623 +3242 +2471 +4104 +4096 +3641 +4022 +3702 +3169 + +7146 +5318 +1820 +3845 +4955 +4134 +8848 +6614 +5497 + +11545 +4050 +20095 + +8230 +11577 +6426 +4671 +11838 + +1726 +7355 +8115 +2780 + +1795 +4697 +10410 +8064 +2370 +9497 +1221 + +2909 +6719 +2733 +4335 +1327 +1672 +1297 +6705 +5209 +6690 +5855 +5432 +3804 + +7874 +7949 +6658 +1621 +8850 +3235 +9142 +2856 + +6968 +7042 + +7463 +8035 +4908 +5032 +4791 +2030 +1768 +8611 +2114 +8748 + +11054 +16021 +9826 +11604 +4819 + +11214 +4850 +11665 +1891 +1347 +4053 +4570 + +66862 + +1597 +6127 +6229 +11518 +9308 +9661 +11410 + +13224 +1160 +1978 +13018 +14604 + +2773 +3885 +2383 +2850 +1758 +5724 +4418 +4637 +1510 +3870 +3793 +4116 +6281 +2026 + +3714 +2840 +2116 +3505 +3941 +6676 +5696 +3216 +6406 +4660 +4974 +2005 +5293 + +2580 +1645 +5677 +5376 +6527 +4410 +6837 +3069 +2399 +3727 +5658 +4817 +5911 + +2126 +2851 +2766 +8660 +8181 +3449 +2765 +1299 + +18470 +9129 +17956 +14494 + +1033 +4468 +5938 +2874 +2406 +1175 +5997 + +1256 +7932 +1544 +2772 +5709 +1348 +2919 + +4399 +1449 +8295 +7470 +2088 +1958 +2857 +1722 +5204 + +8161 +6865 +6428 +4807 +2173 +8614 +5109 +1769 +2125 + +1112 +7417 +1328 +6385 +4670 +2840 +3293 +6438 +6639 +6129 +4144 + +5554 +15529 +1499 + +9459 +3175 +7412 +10610 +10283 +6807 +10056 +8657 + +5195 +1397 +5365 +3713 +4376 +4034 +2480 +2665 +2566 +4664 +5262 +5913 +2455 +6048 +4488 + +10875 + +5322 +8688 +2636 +14243 + +11403 +7465 +10079 +2270 +15254 + +11758 +7630 +5137 +6345 +7119 +10008 +6125 + +5184 + +4306 +1159 +6483 +5131 +5009 +4585 +2996 +3514 +4009 +4788 +6841 +2189 +3030 + +3132 +6730 +5733 +2747 +6464 +5221 +4567 +3528 +4264 +6006 +3295 + +4829 +23038 +16150 + +1519 +10692 +11102 +6321 +2948 +11851 +6301 + +5787 +2664 +6046 +4527 +1955 +5270 +1557 +4567 +5631 +2150 +4612 +3044 +2568 +3589 +5334 + +2303 +10849 +3983 +10010 +4854 +2111 + +4576 +1236 +3111 +4898 +5930 +5241 +2783 +5451 +6549 +5623 +7257 +2589 + +6031 +4307 +6669 +7866 +4333 +2069 +2778 +5463 +7149 +3091 +1001 + +8737 +1843 +4676 +4381 +6164 +2616 +2453 +1739 +4845 +2909 + +1396 +2963 +10672 +11217 +9975 +6511 +8694 + +5262 +3743 +1895 +3811 +6089 +4659 +4195 +4633 +1928 +3865 +2166 +4947 +5040 +4052 +5291 + +16754 +8916 +17259 +17813 + +9683 +13286 +13577 +9343 +1792 +3335 + +25505 +12891 +20104 + +8618 +6560 +4584 +1118 +3931 +1229 +6759 +8275 + +18418 +14090 +3552 +3156 + +4681 +2564 +4557 +4838 +2048 +3097 +4513 +5181 +3803 +1857 +3836 +3089 +4322 +4049 + +3768 +12991 +1680 +2378 + +2609 +5115 +2179 +6126 +1423 +1300 +6113 +3720 +1279 +4681 +1147 +1728 +2087 +4708 + +11919 +12306 +11697 +9806 +11749 +3995 + +5298 +1877 +2065 +10499 +3493 +2892 + +4172 +2913 +2288 +7358 +1065 +3030 +5316 +5023 +1876 +2610 +5309 +5175 + +6904 +9471 +1232 +1741 +2239 +8554 +6327 +6507 +7603 + +23962 +3536 + +3214 +1102 +3823 +1876 +3929 +4890 +5526 +3009 +2619 +1565 +3364 +1392 +2407 +3129 +3586 + +8438 +2649 +4887 +4306 +1675 +2870 +2014 +1160 +6542 +8475 + +10172 +1686 +5999 +9145 +10361 +7814 + +3049 +5192 +2091 +4788 +3460 +2701 +2441 +2485 +2440 +2256 +5054 +4631 +5652 +3636 +3827 + +5944 +7870 +2055 +9296 +7574 +8691 +8852 + +2178 +1658 +6451 +6725 +1093 +6265 +7412 +5641 +2348 +5377 +2680 + +6607 +13797 +10728 +6412 + +10824 +25891 +24424 + +2278 +3407 +1688 +6069 +2324 +1868 +6037 +2496 +3324 +5346 +4118 +3881 +5260 +2094 +2334 + +3330 +2884 +6186 +5513 +3483 +6790 +4571 +4173 +4569 +1909 +5574 + +2073 +2159 +1468 +6189 +2770 +5299 +2039 +4247 +6289 +5453 +3797 +1432 +5501 +2600 + +7484 +8409 +8216 +1966 +2720 +5125 +5532 +10092 + +3704 +4032 +13787 +14642 +6007 + +2893 +3724 +6947 +5569 +6284 +5015 +6589 +4359 +3846 +5402 +5771 +2995 + +3027 +2193 +4194 +6211 +4912 +4523 +3402 +4199 +4777 +5955 +3217 +6162 +1556 +5269 + +6162 +7433 +2853 +4649 +4505 +7220 +5276 +1873 +6655 +5549 +2992 + +3304 +3655 +2028 +4079 +5182 +6830 +3885 +2274 +2769 +2514 +2146 + +2616 +5717 +1758 +2847 +4579 +1853 +1556 +2043 +1293 +1566 +2327 +6678 +5738 + +17934 +19341 + +6652 +3289 +6927 +2152 +2094 +2458 +5635 +6927 +4626 +6846 +5324 +6085 +2571 + +4344 +6656 +3831 +4768 +12536 +13166 + +2696 +5427 +9429 +1393 +5758 +9578 +4958 + +6889 +3107 +1112 +3035 +4159 +3697 +4832 +2604 +6318 +2804 +4325 +5497 +4214 + +3588 +5313 +1330 +8568 +9017 +1794 +9578 +8426 +4836 + +31988 + +5561 +3355 +5593 +3448 +2235 +3836 +2375 +2690 +1704 +3729 +2626 +6329 +3297 +5067 + +4244 +1729 +1598 +1025 +5921 +3214 +2230 +4120 +1274 +1136 +5798 +4259 +2821 +1968 + +5291 +7790 +8452 +1235 +10438 +2069 +1365 +9288 + +5533 +4261 +6170 +1884 +5315 +2901 +3588 +2903 +2441 +2264 +3162 +4188 +3993 +1592 + +15202 +9385 +17135 +10731 + +4591 +2068 +1136 +4292 +4351 +2100 +6075 +4463 +5887 +4507 +1273 +3815 +3595 +4846 + +8033 +7540 +9200 +10554 +2572 +2148 +7195 +9335 + +6923 +4006 +5057 +1209 +5025 +4788 +2977 +3924 +1149 +5407 +3240 +4363 +2870 + +18428 +1484 +6717 + +21437 +10877 + +13896 +13142 +14976 +4279 +7760 + +3736 +3606 +6255 +1070 +4078 +1204 +4140 +5864 +5772 +3706 +4794 +1810 +3891 + +7568 +9015 +8576 +9630 +4006 +8770 +7403 +7606 +8039 + +3523 +5469 +4603 +7988 +6196 +6253 +7393 +7866 +1976 +8036 +1708 + +23475 + +58206 + +8598 +4206 +7981 +1145 +8057 +3214 +2519 +4155 +6886 +7736 + +10064 +5532 +4310 + +5605 +6163 +3079 +5633 +7550 +1557 +3957 +3829 +8064 +5976 + +14566 +2324 +11737 +8884 + +5741 +9973 +5120 +8385 +6468 +6446 + +12939 +7370 +11204 +3902 + +6531 +6059 +3199 +4544 +2988 +6196 +5805 +2947 +6562 +6497 +5311 +1092 +3929 + +2969 +5314 +5341 +7533 +1601 +9340 +1458 +4516 +1911 + +18278 +17057 +19676 +13319 + +1740 +1218 +7693 +7610 +1179 +2611 +2494 +1995 +2606 +3634 +4818 + +51246 + +7826 +5544 +5835 +5983 +5180 +7833 +8681 +7170 +1166 +7254 + +2013 +4870 +1732 +5678 +5275 +4257 +3686 +6372 +6335 +2539 +1566 +3028 +1304 +3809 + +4410 +6375 +5386 +7307 +2385 +6675 +1443 +5057 +4051 +5263 +4460 + +3437 +4993 +6230 +2211 +6522 +4888 +5539 +4875 +4449 +3257 +1333 +3603 + +1433 +4953 +4098 +10882 +8320 +11840 +10795 + +6925 +7292 +9340 +2198 +1406 +2490 +5490 +6380 +6512 + +4332 +2273 +3506 +6399 +3161 +2458 +4217 +2567 +4582 +2109 +4513 +5392 + +2597 +7554 +9150 +5701 +8972 +7443 +6788 +3224 + +6098 +7293 +6994 +8305 +7896 +2339 +3312 +7702 +3616 + +55975 + +2514 +10887 + +7264 +10835 +21533 + +6666 +1428 +6668 +7673 +2755 +3344 +5937 +6942 +7279 +7284 +3344 + +4809 + +4748 +7859 +5322 +3460 +3728 +2462 +7973 +1576 + +1207 +1949 +2608 +1448 +2317 +3410 +7804 +2404 +9159 + +38251 + +10983 +5513 +9496 +7341 +11958 +7265 + +10483 +7081 +5477 +12178 + +8421 +13928 +7231 +10781 +11620 + +7219 +2204 +5179 +5011 +4139 +2160 +6130 +1902 +5293 +8458 + +13895 +10711 +10857 +14214 + +9062 +4001 +8483 +4260 +9408 + +8856 +2473 +4738 +9554 +1238 +6186 +1747 +6853 +8308 + +6468 +5359 +8925 +7929 +9055 +6194 +4431 +4177 + +1452 +2594 +5079 +6108 +7286 +6997 +1052 +4952 +2458 +5843 +3390 + +59084 + +4350 +2892 +6057 +6449 +3274 +4882 +2824 +2625 +2761 +6381 +1803 +2641 +6303 +3518 + +4595 +15941 +14489 +12371 +13428 + +6748 +3113 +13130 +13855 +10202 + +4461 +4550 +3781 +5173 +2232 +3067 +3125 +3914 +5166 +4059 +1403 +1913 +2538 +5819 + +5492 +2956 +6397 +5485 +3908 +1764 +2853 +2690 +2751 +6816 +6510 +5134 +2251 + +1912 +11885 +9792 +9026 + +15319 +21333 +4765 + +1510 +1760 +1193 +5378 +5539 +1362 +3155 +6051 +3748 +5010 +4280 +1834 +5830 +1273 +2963 + +2625 +5173 +2499 +5779 +3165 +2148 +2098 +4888 +2787 +5898 +3977 +2740 +2160 +1791 +2522 + +20725 + +15813 +26702 + +1464 +3116 +7046 +5531 +13731 + +4178 +4204 +3722 +2109 +1772 +3920 +2560 +4029 +5846 +4360 +4538 +4889 +2312 +1086 +1093 + +1020 +3213 +1017 +3650 +4290 +2888 +4208 +2723 +4149 +2381 +3332 +1308 +2755 +4357 + +3010 +5317 +1507 +5472 +2171 +6005 +4331 +5355 +3211 +3797 +3963 +3738 +1899 +3390 +1455 + +2098 +6531 +3206 +4272 +7461 +5093 +5370 +5502 +1543 +4543 +5069 +3491 + +3195 +3617 +1509 +2926 +1668 +5901 +5893 +3950 +2428 +2572 +2390 +4899 +2234 +3937 +3111 + +6510 +1964 +6255 +1875 +5118 +3782 +3884 +5480 +2808 +4666 +2827 +3088 +3182 +3470 + +7230 +5126 +5584 +4880 +7753 +6132 +4098 +2893 +3148 +4209 +3646 + +2971 +2439 +2362 +6416 +5306 +2714 +4752 +6354 +4807 +3723 +4143 +6503 + +8492 +19004 +6323 + +5999 +7828 +7411 +4296 +8321 +5238 +5709 +5631 +6110 +1128 + +6126 +7809 +1458 +15754 +3603 + +8908 +8693 +8558 +3270 +5458 +12906 + +2463 +7423 +6250 +2029 +15528 + +5146 +6644 +1905 +6828 +2572 +4226 +6264 +4324 +3369 +5999 +5373 +5591 +6634 + +2053 +7877 +2218 +2415 +2090 +6433 +8607 +3502 +8313 +2841 + +5471 +5190 +4424 +5184 +3040 +5373 +4799 +8122 +1038 + +4988 +2833 +4461 +2976 +1168 +5195 +1043 +2270 +7339 +7435 +7226 +5779 + +11587 +6728 +6765 +11498 +4711 +3547 + +2878 +8426 +11717 +8591 +5481 +10803 +11181 + +4915 +2093 +6057 +6957 +13009 +12971 + +17979 +3250 +19984 + +5650 +5756 +3307 +10549 +6717 +9579 +2849 +6885 + +2609 +2347 +4692 +5000 +5068 +5148 +4337 +4316 +2654 +2221 +1822 + +13157 + +10140 +5075 +10446 +2946 +5902 +5856 +8096 +8762 + +16951 +9118 +17962 + +7524 +4389 +3716 +3580 +5930 +1197 +3233 +6070 +4612 +2477 +6792 + +6403 +11307 +10753 +9665 +4919 +6485 +3189 + +8790 +10424 +8816 +3840 +6236 +5529 +8946 +3864 + +1370 +4810 +3752 +1664 +1247 +3227 +4605 +4906 +5436 +4534 +4722 +4104 +5629 +4962 +3203 + +2120 +4830 +2859 +2828 +3020 +5260 +5795 +3286 +5247 +6126 +4156 +3624 +2730 + +58973 + +18871 +8511 + +13088 +1608 +12123 +5162 +9357 +2409 + +3194 +2605 +8440 +9642 +9067 +5709 +4431 +5553 + +10532 +36332 + +7227 +10011 +7519 +4030 +7444 +2693 +3845 + +10004 +5735 +9671 +3576 +7111 +1292 +10428 +2800 + +4229 +6072 +3748 +1466 +2305 +2664 +2612 +5054 +2625 +2778 +2712 +2788 +5133 + +10716 +11271 +11169 +9815 +1641 +1025 + +3016 +3916 +6618 +4213 +6968 +3525 +1944 +6525 +1920 +8741 + +19472 + +15684 +10706 +14780 +15411 +9358 + +5290 +8167 +5269 +7051 +2848 +3948 +5987 +4844 +7749 +5696 + +9032 +12663 +11173 +14750 + +1121 +2123 +6582 +5753 +6358 +2524 +6486 +2259 +2197 +1883 +3005 +2406 +5967 \ No newline at end of file diff --git a/Advent of Code 2022 Day 1/src/main.java b/Advent of Code 2022 Day 1/src/main.java new file mode 100644 index 0000000..76a02c9 --- /dev/null +++ b/Advent of Code 2022 Day 1/src/main.java @@ -0,0 +1,47 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +import java.util.ArrayList; + +public class main { + + public static void main(String[] args) { + // TODO Auto-generated method stub + ArrayList caloriesByElf = new ArrayList(); + int calories = 0; + + try { + //Part 1 + System.out.print("Part 1: "); + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + while ((str = file.readLine()) != null) { + if (str.equals("")) { + caloriesByElf.add(calories); + calories = 0; + } + else + calories += Integer.valueOf(str); + } + caloriesByElf.add(calories); + file.close(); + + caloriesByElf.sort(null); + + System.out.println(caloriesByElf.get(caloriesByElf.size()-1)); + //Part 2 + System.out.print("Part 2: "); + int top3CalorieCountsCombined = 0; + + for (int i = caloriesByElf.size()-1; i > caloriesByElf.size()-4;i--) { + top3CalorieCountsCombined += caloriesByElf.get(i); + } + + System.out.println(top3CalorieCountsCombined); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/Advent of Code 2022 Day 2/.classpath b/Advent of Code 2022 Day 2/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 2/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 2/.project b/Advent of Code 2022 Day 2/.project new file mode 100644 index 0000000..c1ba3af --- /dev/null +++ b/Advent of Code 2022 Day 2/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 2 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328691 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 2/input.txt b/Advent of Code 2022 Day 2/input.txt new file mode 100644 index 0000000..b0c356b --- /dev/null +++ b/Advent of Code 2022 Day 2/input.txt @@ -0,0 +1,2500 @@ +B X +C Y +A X +B X +B Y +B X +A Z +A Z +A X +C X +C X +B X +B X +C X +C Y +A Z +B Y +C Y +C X +B X +B X +C Y +A Z +A Z +C X +A Z +A Z +B X +A X +C Y +B Y +C X +B Y +B X +B X +A X +B Y +A Z +A Z +A Z +A Z +C X +B X +B Z +B X +C Y +B X +A Z +B X +A Z +A Z +A Z +C Y +C Y +C Y +A X +B X +B X +B Y +A Z +B Y +B X +B Y +A Z +C X +B X +A Z +B X +A Z +C Y +B X +C Y +A Z +C X +C Y +C X +C Y +C X +A X +A X +B Y +A X +A Y +A X +C Y +C Y +A Z +B Y +A Z +C Y +A Z +B X +A X +B X +C Y +A Y +B X +B X +C Y +A X +A X +C Y +B Y +A Z +A X +C Y +C X +A Z +B Y +B X +B Z +C X +B Y +C X +B Z +C X +A Z +C X +C Y +C Y +B Y +B Y +C Y +A X +B Y +A Z +B X +C X +C Y +B X +A X +C Z +A Z +B Y +A X +B X +A X +B X +B Y +B X +B Y +B Y +C Y +B X +B Y +B X +B X +A Z +C Y +B Y +A Z +C X +B X +B X +B Y +B X +C Y +A Z +A Z +C Y +C Y +A X +A Z +A Z +C X +A Z +B Y +A Z +A Y +B X +A Z +C Y +C Y +B X +A Z +B X +A X +A X +B Z +C Y +C Y +C Y +C X +C Y +B X +B X +B Y +A X +B X +B X +C X +A X +C Y +B X +A Z +B Y +A Z +B Y +B X +A Y +C Y +C X +B Z +C Y +B Y +B Y +B X +C Y +B X +C Y +A Z +A X +B X +A Z +C Y +C X +C Y +B Y +B Y +A Z +C Y +B X +B X +B X +A Z +C X +A Z +B X +A Z +B X +B X +B X +B Y +C X +A Z +B X +B X +C Y +A X +B Y +B X +A Z +A Z +B X +C Y +A Z +A Z +B X +B Y +B Y +B X +A Z +C X +A Z +A X +C Y +B Z +A Z +A Z +A Z +A X +C Y +B X +C Y +A Z +A Z +C Y +B X +A Z +A X +A Y +A Z +B Y +C Y +B Y +A Z +A Z +C Y +C Y +A Z +A Z +C X +A Z +A Z +C X +C Y +B X +B Y +B Y +B X +C Y +A X +C X +A X +B X +C Y +C Y +C X +B Z +A X +A Z +C Y +C Y +C Y +B X +B Y +A Z +A Z +C X +B X +A Z +C Y +B Z +B X +A X +A Z +A X +B X +B X +A Z +A Z +B Y +B Y +B Y +B X +A Z +B X +C X +B Y +B Z +A Z +C X +C Y +B Y +A X +C X +A Z +B X +A X +A Z +B X +C X +B X +A Z +B Y +B Z +A X +C Y +A Z +B Y +B Z +C X +B X +C Y +C Y +B X +A X +B X +B Y +A Z +C Y +A Z +C Y +A Z +A X +B Z +C X +C Y +B X +C X +B Z +B X +C Y +A Z +A Z +C Y +B X +A Z +C Y +A X +B Y +A Z +B X +A Z +A Z +C Y +B X +A Z +A Z +C Y +B Y +B Y +C X +C Y +B Y +C X +B Y +A Z +C Y +B Y +A Z +B X +B X +A Y +B X +B X +B Y +B Y +C X +C Y +A Z +C X +A Z +A Z +A Y +A Z +B Z +C Y +C Y +C Y +C X +C Y +C Y +B X +C Y +C X +B X +C Y +C X +C Y +A Z +C Y +B Z +C X +A Z +C Y +C X +B X +B Z +C Y +C Y +B X +B Y +A X +B Y +A Z +C Y +C X +C X +A X +B Y +A Z +B Y +C Y +B Y +B Y +A X +C X +A Z +C X +A Z +B X +A X +A Z +B X +A X +B X +C Y +B Y +B X +C X +C Z +A Z +B Y +B X +A X +B Y +C Y +C Y +A X +C X +B Z +A Z +A Z +B X +A Z +C X +B Z +B Z +C Y +C Y +B Y +C Y +A Z +C Y +B X +B X +B X +A Y +A Z +A Z +A Z +C Y +B Y +B Y +C Y +A Z +A Z +A Y +C Y +C Y +A Z +C X +B X +A Z +C Y +C Y +A X +A Z +C X +A X +B Z +B X +B X +A Z +C Y +B Y +A Z +A Z +C Y +A Z +A X +C X +A Z +B X +C X +C Y +B Z +C Z +A Z +A X +C X +B Y +C Y +A X +B Y +A Z +B X +B Y +A X +C X +A Z +A Z +B X +A X +A X +C Y +B Y +A Z +C X +A Z +B Y +A Y +C Y +B X +C X +B X +B X +A Z +B X +C X +C Y +A Z +C Y +A Z +B Z +B Z +A Z +A Z +A Z +A Z +C Y +C Y +A Z +A Z +B Y +A Z +A Z +A X +C Y +C Z +A X +C X +B X +B X +A Z +C Y +A Z +A Z +B X +A Z +C Y +B Z +A Z +A Z +A Y +C X +A Z +B Y +B Y +C X +B X +C X +A X +C Y +A X +C X +A Z +B X +B X +A Z +B X +A Z +A X +B X +A Z +B X +C Z +B X +C Z +A Z +B X +C Y +A Z +B X +B X +B Y +C Y +A Z +A Z +C X +C Y +A Z +C Y +A Y +C Y +B Y +B Y +B X +C X +A Z +C Y +A Z +C Y +C X +A Y +C Y +C X +A Z +C Y +B X +A Z +A Z +B Y +C X +A Z +A Z +B Y +C Z +A Z +B X +B X +B Y +A Y +A X +A Z +B Y +C X +C X +B Z +B Y +A Z +B Z +C Y +B X +A X +C X +A Z +A Z +B Y +B Y +B X +C Y +A X +C X +C Z +C X +B Y +B Y +A Z +B X +A Z +A Z +C Y +C Y +A X +C X +C Y +C X +A Z +B Z +B Y +C X +A Z +B X +B X +A X +A Z +B Z +B X +A Z +A Z +A Z +B X +C Y +B X +A X +A X +C Y +A Z +C Y +B X +A Z +B X +B Y +B Y +A Z +B X +B Y +C Y +B X +B Y +B Y +B Y +A Z +C Y +B X +B Y +C Y +C X +B X +C X +A Z +C Y +A Z +A Z +C Y +B Y +A Z +B Y +B Y +B Z +B X +B X +B X +A X +C Y +B X +B X +B X +B X +B X +A Z +A Z +A Z +A Z +A Z +C Y +B Y +C X +A Z +C Y +B X +C Y +C X +A Z +A Z +B X +C Y +C Y +A Z +B X +A Z +B Y +B Y +C Y +C Z +C Y +B Y +B X +C X +C Y +B X +B X +A X +C Y +A Z +B Y +A X +C Y +A Z +A Z +A X +A Z +A X +B Y +C Y +B X +C Y +A X +C X +C X +B Y +A Z +C Y +C Z +C Y +C Y +C X +C Y +A Z +A Z +B X +C X +A Y +B X +C X +C X +B Y +A Y +A Z +C X +C X +C Z +B X +A X +C Y +A Z +B X +A Z +B X +B X +C X +B X +B X +A X +B X +B X +C Y +B Y +A Y +B X +B Z +C X +A Z +C Y +A X +C Y +C Y +B X +B X +C Y +C Y +C Y +A Z +A Z +C X +C X +B X +C Y +C Y +B X +C Y +A Z +A Z +C Y +C X +A Z +A Z +B X +B Y +C X +B X +B Z +A Z +B X +B X +B X +C Y +A Y +A Z +B Z +B X +B X +B Y +A Z +B Y +B X +A X +A Z +C Y +B X +C Y +C Y +A Z +A Z +B Z +A Z +B X +C Y +B Y +B Z +B Y +A Z +C Y +C Y +B Y +C X +C Y +A Z +C X +A Z +B X +B Y +A Z +B Z +C X +C Y +B Y +C Y +B Y +A Z +C X +B X +A Z +B X +B X +B X +A X +C X +B Y +C X +A Z +C Y +B X +A Z +A Z +A X +B Y +A Z +A Z +C X +A Z +B Y +A X +B X +B Y +A Z +B Z +B X +A Z +C Y +A X +A Z +C Y +C X +C Y +C X +A Z +A Z +A Z +C Z +C X +C Y +A Z +C Y +C Y +C Z +C Y +C Y +A X +A X +A Z +B X +B Z +A Z +B X +A Z +A Z +C X +A Z +B Y +A Z +B Z +A Z +C X +A Z +B Z +A X +C Y +B Y +C Y +C X +C Y +C X +A Z +C Y +C Y +C Y +C Y +A Z +B Z +B Y +B X +B X +C Y +A Z +A Z +A X +C X +A Z +B X +A Z +B X +C Y +C X +A Z +B X +C Y +A X +B Y +C Y +C X +A X +C Y +A Z +B X +C X +A X +B Y +B Z +A Z +A Z +A X +A Z +C X +A Z +B X +B X +C Y +B X +B X +A Z +B X +A Z +B X +B Z +A Y +A X +A Z +C X +A Z +A Z +B X +B X +B Y +B Y +A X +C X +A Z +C X +A Y +A Z +C X +B Y +A Z +C Y +A Z +A Z +C Y +A Z +A Z +A Z +A Z +B X +C Y +B Y +A X +B X +A Z +B Y +B X +B Y +B Y +C Y +C X +C X +B Y +C Y +A Z +B X +C X +B Z +A Z +C X +B X +C Y +C X +A Z +C X +C Y +B X +C X +C Y +B Y +A X +A Z +C X +C X +B X +B X +B X +C Y +B X +B X +B Y +B Y +B X +C X +C Y +B X +B X +B X +A Y +B Z +C X +C Y +C Y +B X +B X +A Z +A X +C Y +B X +C X +B X +B Y +A X +C Z +C Y +A Z +B Y +B Y +A Z +C X +C X +A Z +B Y +A Z +B X +A Z +C Y +C Y +B Y +A Z +A Z +A Z +C Y +C Y +A X +C X +B Y +C Y +C Y +C X +A Z +A Z +C X +C Y +A X +B X +A X +B Y +A X +A Z +A Z +C Y +A Z +B X +C X +A Z +A Z +A Z +C Y +C X +A Z +C Y +C Y +B X +B X +C X +B X +C X +A Z +B X +B Z +B X +B X +C Y +A X +A Z +B X +A Z +C Y +A Z +C Z +A Z +C Z +C X +A Z +B Z +A Z +C Y +B X +C Y +A Y +C Y +C X +B X +B Y +C X +A Z +B Z +A Z +B Y +B X +A X +B X +B Z +C Y +B Y +C Y +C X +B X +C Y +C Y +A Y +C Y +B X +B X +A Z +B X +B Z +C X +A Z +C Z +C Y +A Z +A Z +B Z +C X +A Z +C Y +A Z +A Z +B X +B Y +B Z +C X +C Y +B X +A Z +B X +A Z +B X +A Z +B X +A X +C Y +B Y +C Y +B X +A Z +B X +C Y +B Y +B Y +B X +A Z +B X +C Y +A X +A Y +B X +A Z +A Z +B Y +A Z +A Z +C Y +B Y +A Z +C Y +C Y +C Y +B Y +A Z +B X +A Z +C Z +A Z +A Y +B Z +C Y +A Z +C Y +C X +B Y +A Z +A Z +B X +A X +A Z +B X +A Z +C Y +C X +A Z +A Z +C X +A X +A Z +C Y +A Z +A Z +C X +C Y +B X +B Y +B Y +C Y +C Z +B Z +C X +C Y +A X +A Z +B X +B Y +B Y +C X +B Z +B Y +B X +B Y +C X +C Y +B X +B Y +B X +C X +C Y +C X +A Z +B Z +B Z +C X +C X +B X +C X +B X +C Y +C Y +C Y +B X +C Y +C X +A X +A Z +A X +A Z +B X +B X +A Z +A X +B Y +A Z +B X +A Y +B X +C Y +A Y +A Y +B X +B Y +C Z +C Y +B Y +B Y +B X +A Z +A Z +B X +A X +B X +B Y +B X +B X +A Z +C X +A Z +A X +A Z +B Z +B X +A Z +C X +A X +B Y +C X +B X +C X +A Y +A Z +B Y +C Y +A Z +A Z +A Z +A Z +A X +A Z +B X +A Z +C X +A Z +B Y +C Y +A Z +B X +A Z +C Y +B X +C Z +B Y +C X +A Z +A X +C Y +B Y +B X +C Y +C X +A Z +B X +C Y +A Z +A Y +C Y +B X +C X +B Y +A X +C Y +B X +C Y +A Z +A Z +A Z +C Y +B Z +B X +A Z +A X +B X +C X +B X +A Z +B X +B X +B Y +B X +A Z +C X +B X +A Z +A Z +C X +A X +A X +B X +B Y +A Z +C Y +C Y +B X +B X +A X +A Z +A Z +A X +B X +A Z +B Y +C X +B X +B X +C Y +A Z +B X +A X +C Y +C Y +C Y +A Z +B Y +C Y +C Y +C X +A Z +B Y +B X +B Y +B X +C Y +C Y +A X +B X +B X +C Z +C Y +B Z +A Z +B X +B X +B Y +C Y +C Y +A Z +C X +B X +B X +A Z +B Y +B Z +B X +A Z +A Z +A Z +C X +C Y +C X +C X +A X +C X +C Y +A X +B X +A Z +A X +B Y +B X +A Z +A Z +C Y +B Y +A Z +B X +C X +A Z +A Z +C X +B X +C Y +B X +B X +C Y +A Z +A Z +A Z +A X +A X +B X +A Z +B X +A X +C Y +C X +C X +A X +A Z +C Y +B X +A Z +A Z +A X +A Z +B Y +C X +B X +C X +C X +C X +A X +C Y +A Z +C Y +B X +B X +B X +C Y +C Y +A Z +A Z +C Y +A Z +B Y +B X +A Z +B Y +C Y +A Z +C X +B X +C Y +C Y +C X +C X +A Z +B X +A Z +B X +C X +B X +C Y +C Z +C X +C Y +A Z +A Z +A Z +B Z +B X +A Z +A Z +B X +A X +B Y +B X +C Y +C Y +A Z +B X +C Y +A X +A Z +B Z +A Z +C X +B Y +B Y +A Z +A Z +C Y +B X +C Z +C X +A Z +A Z +B X +B X +A X +B Y +C X +A Z +C Y +A X +B X +A Z +B Y +B X +B Y +A Z +B Y +C X +A Z +B X +A Z +C Z +A Z +A X +B X +C Y +A Z +A Z +A Z +C X +B X +A Z +A Z +B X +A Z +A Z +B Z +A Z +C Y +B X +C Y +C Y +C X +B X +A Z +B Y +A Z +C X +B X +C Y +A Z +B X +B Y +C X +C Y +A X +C Y +B Z +C X +B X +C X +B X +A Z +B X +A Z +B Y +B X +A Z +B Z +A X +B Y +B X +C X +C X +B X +B Y +C Y +B X +C X +C X +C Y +A Z +C X +A Z +C Z +C X +B X +B X +A Z +A X +A Z +C X +A Z +B X +A Z +B Y +A Z +A Z +A Z +B Y +A Z +A X +A Z +C Y +A Z +C Y +A Z +A Z +C Y +A Z +A Z +C Y +B Y +A Z +A Z +A X +C X +B X +A Y +B Y +A Z +C Y +C Y +A Y +C Y +B Y +B X +A Z +B Y +C X +A Z +A Z +A Z +B Z +A Z +C Y +B X +B X +C Y +A Z +C Y +A Z +A X +A Z +B Z +C Y +B X +C Y +A Z +C Y +B X +C Y +B Z +B X +A Z +C Y +A Z +C Z +A Z +C X +B X +A X +A X +B Y +A X +B Z +B X +A Z +B Y +B X +A Z +A Z +A Z +C X +A Z +B Y +C Y +A Z +C X +A Y +A Z +B Z +B Z +C Y +A X +B X +B Y +C Y +C Y +A X +A Z +C X +C Y +C Y +B Y +B X +A Z +B X +A Z +A Z +B X +B Y +B X +A X +C Y +B X +B Z +A Z +A X +C X +B Y +C Z +B X +A X +B Y +A Z +C Y +C Y +A X +C Y +B X +A Z +A Z +A Z +A Y +B X +B X +A Z +C X +A Z +C Z +B Z +A Z +B X +A Z +C Y +B Y +B X +A Z +C Z +B Y +A Y +B X +B Y +A Z +C Y +B X +A Z +B X +C Y +A X +C X +A Z +A X +A X +A X +C Y +C X +A Z +A Z +C Y +B X +B Y +B X +B Y +A Z +C Y +B Y +B X +A Y +B Y +A Z +B X +B X +A Z +C X +B Y +A Z +A X +C X +C X +A Z +C Y +B Y +A Z +A Z +C Y +C X +A Z +C X +B X +C Y +C X +C Y +B X +B Y +C X +A Z +A Z +C Z +A Z +A Z +C X +C X +B X +B X +C X +B Y +A Z +C Y +C X +B Z +B X +B X +C X +B X +A Z +C Y +A X +B Y +B X +C X +B X +C Y +B X +B Y +A Z +C Z +C X +B Y +A Z +B Z +C Y +B Y +A Z +A Z +B X +B X +B Y +A Z +B X +B Z +A Z +C Y +C Y +A Z +B Z +C Y +C Y +C X +B X +B X +C Y +B X +C X +C X +A X +C Y +B Y +A Z +C Y +A X +A Z +A Z +C Y +C Y +B Y +B Y +A X +A Z +B X +A X +A X +B Y +B Y +B X +C X +A Z +A Z +B Y +C Y +C X +B Y +B Y +A X +B X +C Y +B X +A Z +A Z +C Z +A Z +B Z +B Z +B X +A X +C Y +B X +B X +C X +A Z +B X +C X +C Y +C Y +A Z +A Y +C Y +C Y +B X +A Y +B Z +A Z +A Z +C X +C Y +A Z +A Z +B X +B Y +A Z +A Y +B X +C Y +A Z +B Y +B X +B X +B X +A Z +A Z +A X +B Z +B Z +A X +C Y +C Y +B X +A Z +A X +A Z +C X +A Z +C Y +A Z +A Z +B X +A Z +C X +C Y +C X +B Y +C Y +B X +A Z +B Y +A Z +A Z +A Z +C X +C X +B Z +B Z +B X +B Y +A Z +C X +C Y +A X +C Z +A Z +B X +C X +B X +A Z +B X +A Z +C X +A X +B X +B X +A Z +B X +B X +C Z +B Z +B X +A Y +C X +B X +B Y +B Z +C Y +B X +C X +C Y +A X +B X +C X +C X +B X +A Z +C Y +B X +A X +A Z +B X +B X +C X +A X +A X +A X +C Y +A Z +C X +A Z +C X +C X +A Z +C Y +A Z +B Y +A Z +B X +C X +A Z +C X +B Z +B X +A X +C X +C X +C Y +C Y +B X +B Y +B X +C Y +C X +C Y +B Y +A Z +B Z +C Y +C Y +A Z +B X +C Y +A Z +A Z +A X +B X +A Z +B X +A X +C X +B Y +B X +A Z +C X +C X +B X +C Y +C Y +C Y +A Z +B X +A Z +B Y +A X +B X +A Z +B Y +B Y +B X +C X +A X +B Y +A Z +B X +C X +B X +A Z +C Y +A Z +A Z +B X +B X +A X +A X +C Z +C X +B Z +C Y +A Z +C Y +C Y +A Z +B X +C Z +C X +B X +C X +A Z +C Y +C Y +B X +A Z +C X +B X +B X +A X +C Y +B X +A Z +A Z +B X +B X +B Y +A Z +A Z +B Y +B X +C X +B X +A X +A Z +A X +B X +B X +C Y +A Z +A X +C Y +B X +C X +C X +C X +C X +B Z +B Y +C X +A X +C Y +C Y +C X +B X +B Y +B X +B X +B X +C X +B X +B X +C Y +C Z +B X +C Z +A Z +A Z +C Y +B Z +B Y +A Z +A Y +C Y +B X +C Y +A Z +B Y +C Y +C Y +A Z +A Z +C Z +A X +A Y +B Y +A Z +A Z +A X +C Y +B Y +A Z +A Z +B Y +C Y +C Y +A Z +A Z +B Y +A Z +B X +A X +A Z +B Y +C Y +C X +A X +C X +C Y +B X +B X +A Z +C Y +B X +B Y +C Y +A X +B Z +B Y +C Y +C Y +A Z +A Z +A X +C Y +A Z +B X +A Z +C X +C X +C Y +C X +B X +C X +A Z +B X +B X +B Y +B X +C Y +A Z +B Y +B X +C X +C Y +C Y +A Z +A Z +B Z +B X +A Z +C Y +A Z +B X +A Z +A Z +B X +B Y +A Z +B Z +C Y +A X +C Y +C Y +B Y +B Y +B X +C X +A Z +B Z +A X +C Y +B X +A Z +A Z +C Y +B X +C X +B X +A Z +C Y +A Z +B Z +A Z +A Z +A Z +B X +C Y +C Y +C Y +A Y +C X +C Y +B Y +A Z +C Y +A X +A X +C Y +A X +B Y +C X +C Y +A Z +C Y +A X +B Y +C Y +B Y +B X +B X +C Y +A Z +C X +A Z +C Y +A Z +C Z +A Z +C Y +A Z +C X +A X +C Y +B Y +C Y +C X +A Y +A Z +C Z +A Z \ No newline at end of file diff --git a/Advent of Code 2022 Day 2/src/main.java b/Advent of Code 2022 Day 2/src/main.java new file mode 100644 index 0000000..3d091f5 --- /dev/null +++ b/Advent of Code 2022 Day 2/src/main.java @@ -0,0 +1,93 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +import java.util.ArrayList; + +public class main { + + public static void main(String[] args) { + // TODO Auto-generated method stub + int calories = 0; + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + char moveOfOpponent = 0; + char moveOfYourself = 0; + char indicatedEnding = 0; + int scorePart1 = 0; + int scorePart2 = 0; + + while ((str = file.readLine()) != null) { + //Part 1 + moveOfOpponent = str.charAt(0); + indicatedEnding = moveOfYourself = str.charAt(2); + + switch (moveOfYourself) { + case 'X': //Rock + scorePart1 += 1; + switch (moveOfOpponent) { + case 'A': scorePart1 += 3; break; //Rock + case 'B': scorePart1 += 0; break; //Paper + case 'C': scorePart1 += 6; break; //Scissor + } + break; + case 'Y': //Paper + scorePart1 += 2; + switch (moveOfOpponent) { + case 'A': scorePart1 += 6; break; //Rock + case 'B': scorePart1 += 3; break; //Paper + case 'C': scorePart1 += 0; break; //Scissor + } + break; + case 'Z': //Scissor + scorePart1 += 3; + switch (moveOfOpponent) { + case 'A': scorePart1 += 0; break; //Rock + case 'B': scorePart1 += 6; break; //Paper + case 'C': scorePart1 += 3; break; //Scissor + } + break; + } + + //Part 2 + switch (indicatedEnding) { + case 'X': + scorePart2 += 0; + switch (moveOfOpponent) { + case 'A': scorePart2 += 3; break; + case 'B': scorePart2 += 1; break; + case 'C': scorePart2 += 2; break; + } + break; + case 'Y': + scorePart2 += 3; + switch (moveOfOpponent) { + case 'A': scorePart2 += 1; break; + case 'B': scorePart2 += 2; break; + case 'C': scorePart2 += 3; break; + } + break; + case 'Z': + scorePart2 += 6; + switch (moveOfOpponent) { + case 'A': scorePart2 += 2; break; + case 'B': scorePart2 += 3; break; + case 'C': scorePart2 += 1; break; + } + break; + + } + } + + System.out.println("Part 1: " + scorePart1); + + System.out.print("Part 2: " + scorePart2); + + + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/Advent of Code 2022 Day 3/.classpath b/Advent of Code 2022 Day 3/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 3/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 3/.project b/Advent of Code 2022 Day 3/.project new file mode 100644 index 0000000..5b4d6ed --- /dev/null +++ b/Advent of Code 2022 Day 3/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 3 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328694 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 3/input.txt b/Advent of Code 2022 Day 3/input.txt new file mode 100644 index 0000000..2b4c17e --- /dev/null +++ b/Advent of Code 2022 Day 3/input.txt @@ -0,0 +1,300 @@ +PPZTzDhJPLqPhqDTqrwQZZWbmCBMJMcsNmCBFWmMcsNb +vplSlfdfGvfRRGsgNcMglsFWMWMC +jtjvFHdjjwqrwqwL +NSffhsNSjfLjfstsjtjNNjjqMqnpggHngqgHGHCgClGbCzCC +dDPZZDZFdwFWwFZFWZRTFDwGzCMlgnpgCpnzglClHMbg +DTPFZQRcdTVNhbjVbcLc +JZLDcSZSpHHrrLrJcpzBRrhlzgRTmTmvBRmm +qQsQMCbMQWqCVVvmTRhTTRhCRhTg +svbGWPqGPNLJSpZnZpnN +wLtPGCLwfWLflCPtPfLLTSbHMbSgMdtvDHghhHvdgZ +nNsFznJcJqzFFszFqrNnRzdbZDDbRMbMdRHbMdgHvZSd +VczNnjsrFrjcNprqVwTPfjGllWPQBBWlgB +nnGtjFFjFTTTGtBGmWBTWffLcMJMQlzjQPCPcChCQDJzDJJd +SSggbHVbZRgZsHZRHdVhzCcJhzhMzJhQPQ +rHsNSsSZqqrNgpLLWmCfFGqGCBWm +ZnCtCCVZmVBCQBWQnWQNCQMcLrMMgMLqLSwMSSDwjcBD +hTbGJGfTbrSfScmjwj +bbGGlTdlJTdGlFpdFvJdsbmdZWPWtnVCHQvtVHzvtHWtCtVN +pNpCNFMNFhhwDgRVdSVqwgrdmJ +nvHbPZtTHWbntTmdTRrqVRrdmz +vHWPBWvntbWnHLHZLqWtBCjjhBNhCjGjjNjDNChlFC +CnFbFzpzJbsCRpbRpbnPCnJLTtwQtjdtcttHHHDtDPjQwTHB +qGrflmrNgvvmGqcdwrtWQHwTBHQWtj +mVMvSclGqvNVMMNVsZsnJJRJsbzpSJpJ +cJTcRllRldjZlFcbcFJrrvqCCVTNNVWSPpQNmpQqCPVC +wGLBfLzgBfzHGGGnLDGDGgwHqqHmVSWqpQpCpQRWVWVNpS +DRshRBLMhZlFZMJvlJ +SdGbmRGddMcfbWWSptssDHssGDNsjCCC +glPLTzczrCpNNsHTst +gqcZJPrBlhJgPndMVJbWMVfnWV +qNbmLmndBQqjsCPLZsLPZz +pwfhfCvJvvTMGzSjzPSPjcZp +VvvJVMCrvTRwgvwWvqNmqblNHtBWqQWlql +WNJmddmpFmMMrnlFddlWTHCHBRcnCBTRzTDRTwTz +qffLvLLvbqhqPbjbqRGPSqVtPDTTwTwTDzCBCccQczssCwcc +tfhGLhqthZVhbfpFRJMMMrJrZpmZ +VVgSmdqFpMddqSfpfVVWQvzTPvTWPrpsQPQQJv +ZCnRCDwRWCPrTrsW +HwRNLLsnHRNjtRSqNqMmfqVVMbqg +slqwzGvWqMsvbmTzTCBhhBhgcgjbCPCchc +tJVJSZStQdMQSdntJHjFNFPCNpjFCPcFFdhB +QDrRVZSnrQDVVRRtRHHWGmzTDDqMqMfzwswWsl +rFBrJFcrWHzCLFHqSg +PdVjfjlGPRzRGtGLRC +TQPMpMVPDDPfPTMMPpTWWrhbcbTcWbzzcsmTmb +ZDQDZDJNqqNbwQPgtlGntHlVGlPPrf +vhmChcgvMCdvzCvvHfdntBHGBldrHBVG +cCpTCLvmjhpjzSTTLSpwbDqjJQFZgNDwJssFDw +LfMFLwMwdrFmWBJD +tVlHqqVTHRtmQggrjQqDJg +VDntHnDGRntHPbLPPLLZhcsLPLww +FBLddLctDQcbCLltbdCRdLQVNVDjnPHVnsjnPqVSHNNVTP +vGmwrZZWJpfWfmvZgZJjSTPqsTrVPTrHTssNPP +wNZJffhNWmhvMhgwMZpvNJtbQRtQQLdFhbQFClLBCBlc +npvSWJBCDDBBDSvCZSpJdsTZsRhTdgMgPdhqHHqR +bjtwqLrtmfmtLVjVLQHHHdgwTTHMssMTGHhH +VtmVVNtqlllpJvnnnS +nCqrnLSSGnpjBjBGbcbPbB +vfdVdtdgMMrFgHfHPcBcPBjwQDjFbwDB +zgHWMmgHmWfWvVvRRzLCSCJsZNpJZSsrnssW +bBjWlfrrnClSssMMFmVVhMjgMpLM +dRDqDdzQrDdhqMMPtVLgFL +THDRwHDNDdQdcDvTcZbBGBGrZZnZcrlb +jgSVPVsVmshhsCQm +vmFtcDBfDFLrvTFZvLFvWzWhHwCWHnwHnCQCcwnq +FmDpFBmZZFrDbDfDtmLNgMPNGdPjRdPlPPpMVN +VVJGdSHZnnHdgFntcschhccvvPvtstPq +mLNjNQFBpPlPvNqs +LMTMMRDwwMMSGZzRnnGbzF +JFFfVrvVmHfGmHFvmrSQBQlSJLlShLlgBqwJ +DMCdpCbtgbcCCNpbCCPgRqdldBRQRBRwLsBSLhQs +cgbcPbpcWDWjNCZDWWZttDDGrHzznHzjGzmHnVjVvvVnrz +rtGTmSTGNtvvgfNGSbfwWWvJqwcDwwJPWcwWqD +lZhdHzFhLZhdBcWsWsWmwPcFqW +BhhjLzhZCCdhgCTtCSMmMrbt +FrzSRNrWNFdNhcRDDdrFWCVVZZZmjJbJSPlllgllVbgT +nQGGHqvHMVVpMLGffqtwLMtwlmPbTbjZPJmllLJBmZmZlZbP +VMvvpvQttHqnsvhhzhdrcdWNchsW +BzRTBbWVQNdngtDFVprDFrpF +vhfhSJvbhwSpDDFZHfMpHp +JhmvJsLLJLJqmsJLbsGGjvNRzzBcTBNlRNmnRTQdzzzn +vpCLrTcpRmncrncLcnccvLLNWVsRbhbtsQbJbVQWtWlWbW +PfFfdjdSjPffMFsQbNhlFssFNQ +zBDsjgfZHczLHTHC +BnvpJnVgPWJzczpnvnWVWRGTrRTGmmBhRmBmThrmrf +dNlwjLNLlbLSjLQVdLdjjSTRHmRmTTNmmRRtfTTfhThs +FSSSqbVDQZzzPPPFZc +fTTrrBqwfDTWfTDrRNrnRjgPSpJPnnmp +PvHPbsvZlMtbbvbCLLMHtHZZjtgJRjSnJSpSpjRgRjggSRmn +VLHbCbVPLZvlvMhHCHlPHbLCqQQfdQTBddTWhDTBchQzQwBW +ZBHHfHWLfLqjfLjHZBSDwHDWhvpFCQqNpvVNVNQCFPJvPQCF +zMrtclbdvFPSpdFp +rGMMnnGgsbzblRnlSrzSgRRDwLWjLjTTDBZmfLwZmDBf +rfJVfnztTfZFMfZq +cRGcdddPRbHvHCRHRmShqFrPSTmTPjSjZT +NvRHGGdNLrNJsDtL +dgggppRqnlnjbbjRwzmtHb +ZTPhrVvMZhrVQPZNCMZQjjbFtjmswwFtzVmLGbmL +rZhPCPPcNPNTMfvZPCvhMPSBpgSqSqfpDgJJggdwWJgg +TsgFbTQSZZsSJFThhggQFshpMSzRRRDPwwzPwDftRDrczLww +GCmnjCNjmlVdHNfdGNjMwPrrLwLcMcrcRHzMHM +nmmBnmlWlVWvjnNlpfFQbZsFpQhgJFpB +jfpdTTqqJpDfQrscgsDh +mNFmHHtVsVQrsllG +CmFtZPHNzzpBspzpLBqw +RsgJsjsZbTjmZZMMJPtCSPPDhCSrDhrjhC +lBwzHLQddZlLQnChGdtDhrnqhq +fLHpNQQpwvHllQVQHNNfHpzZMFWbccmTcbJMcFsWTRVbsTWF +DhHFMRDDmLmshTmSCpSWZVNHtCCNnW +fJJPBvlvlBflQQfQtNWtQzpSWZNtCZpN +vPJbdvBfqhqhShTFMs +lttWShphLtWWGppCQLlwZTHZHmfjjvwvHFmw +MFNssMMDVzrrnTmvJTHwJmZmZr +MsBznNznRgzzncFBLQQGGBBtdhdGpWPp +JFmvMWBmBlbBCZrZrH +DjRRjgffgjqwsDqrcHNNbCZbCbbN +sSffwRVjjDVzfjSjswDSQLdPrvGvFMmMJMMJmnWzGL +RbvwgbTVgzGTrhvWDmNDGJfCDffMmNBD +PjSlqldccqFLSqQLCpJfpWDCcCJZBpMD +jlHdPlqqSnjHggWgwrhzRz +WsJnWnmCJpTnLWmJLCSDVVmhNjRbrDRgrgZRhrjrhhgdZN +QlFfQBqlBwBqBffMFPsbgdgwsrZjrPNrNs +MvvvlHBcfBtvffGBcMqqqLpmLsJtpSLSCWCVCnnTzJ +QSRRwSWPhWhwwHbtsNGZNRNZTgRcmc +nfvDCrnnDvJJDDVMLNgtsZmZsVtZGgqmGp +nCngDlFfvvJLnCJJLMFMClHBBzQzwzbhlQHHPllbBhdb +qNFzGFFFnGGDJnzSdFdzjdvmCvzPzzRmgCmMmtgvcmtV +sQlhpLpWQQZpQZpQrBlLsLLCRggtMgVbbtggBmVVmbmBVm +ppQHRflRSGTdHSGN +BgTnWbbwPgPWgPGfGlWfdFFFlsSF +QvDNDZRMjCNZcHZZDQFShGFpBhdRsGpLsFRd +rrqvNcHjBcJgrTzbPVVz +pCjdsSdCljdBlpJpdmjHFHmDfTDTwgfgcw +WQrWnGzhNZzWfcnHfBwnvwHc +RLGNGQhWZhMrZNtBpsLPsVJbPLVb +TRDDSzNhHNHfSppCCMZsMMssdgZvfZ +GbGlctGqrBqVtrtLGtmqTtssPdMZcCZMnMvCZgdddgsP +BQqbVVVqLtBqWbTlmLBhQjFhJDRpHhzpJSJDNF +FTHTnPSmFqSPCTVDhZRCZDhjDRsV +blbLcBgMgMlrcLMbzrlBLZjRVsZZfNVfVfJsbNqDDh +tLtLQgzWMzSnHmPSWdqW +DnwmFcpmpGqFwCwmfCDMZsNVVMdlVrsNsczrrl +ghtBPJbHtWPbJPdBSPMzsrTTzZMTTMSNzrVZ +bPdjjhtPPJjjBQJJdbhRgJhLCnfLGGmLnGLpLfDRGGfpqG +HzzZZjCLjjZCmVQppssbGpmcTGgp +nMnJPqJlMPqBJllSJvlMSDGGBcgBcsfBhTpsFhgTTfFQ +drSRqnSqJDcSJrMJnRvCHtWZtjZZrHtVjrwZLj +mDJjmQggstPvDWJgQWJgPPmNFFLZpphZNlNpZLhSLvLZNf +rzzfTczCzCdBwddcCCHFpHFMNHZSHMFrHNFp +bcfzdGnCtVsVtsWn +CMfCfGfwbMMLdTMH +lqzDgLWqQWhQNWnlQqHTFFFFchbddTRbSddd +WnzDNZmPZmgglNCrvjrtrLffrJZJ +BllCMzjjlBHCCllHvljCMhbrQbTVTrvprTqrFWFFvF +ZNwfNLRnfwtRtNwqThVFpwWVJrbh +LnRnpNRSLcpZZNtmZmjgGgGMPBHCmMzsmsHM +MRMPpwWTLMMMMLLRMPbvfQZCnqQnqvWZWGqGDQ +gJslgmlmSZqssGGbnV +mJFSmmjcdmgJhdgrdjcdjwbRwpMwpHBRHrztwtRMRL +CccctqnQVvQcrsFwznmnrBrs +LLPThTSjPdJjLTtMBrsDmbbsBwbswGMF +jLSLWPLlTlgSlgSghdvtQZvqvWRcCpHVCqWp +DmggMZCDbdNrttnbPn +cclqSqGjSBwLqswNrFNzffFfNPsCsd +jGpLBcwlQBSpLjSQLvjRTZHTCRRDggRTHhmvmV +LWzrnwZFnzQlWQZndWFNvHBNDVBBNjplNjjVvV +RCSmPSCgsgTmCRqnsTCHvjJJpvBBSVSMpVjVMJ +sfgsRGnRTghQWWbLwfhF +JnJlTnDnwtWHMdJt +phNPDPVvPcPPvMRqVZRWMqRRWM +fGGScQDfssQzLbgT +rLVVdSSvVzQSRnzSRRnBQMJqDTjMsMsMqqPPhP +wmbWWFGVlGfptbhshsTmhqDPJJMm +CbWtWlCNpglgbtCWtFHdvNHVZnZZVnNVHHcc +qtRszqSZVnTCVwwLJpcgppLHqp +MPvBGNnDWMGMPDvGBPvMBFvpppjHwHpJJJJJFjjwLcjLJg +hBfPNvGvhDnvMPdslCZCtVsRRCSZff +HgvgvLNDcCcNBPDDvNNBzLNBnnhQqwRnRLQhWRhhWssqsnZZ +FlfprJzttrrTlGpbJVQhRwwbnbsRWVnZss +FGmdJrFdJddmjFfTttpfftlDvHSDgCDHgvSgHPcBzMHSzj +dgHhCJbBbwgNcVzlvzvzQVzH +RZPjRRRDPnjrjSnfFrDsnvzWVlzLfGzvBVWccclcGl +nDDZPjjRnZmFstnZBrsZgtCgbtMdqbJdNqMdgdwg +LvdrGnDBGBGrvrGLJtdrmmcfClqllsqlmjsLmcQC +VpbwbwTSVVwpzZMRSVmsjDqCclclNZCjNjQq +PpzWwRMwTwFpwtJBHnhtdnDvvP +GCJSClmwzmSgrpPpSpgcrS +bjLpsspHMHvBTsDLjTDtbTBFRFrQQQPcgQgcFcFPcFcnPs +pBTBvqBHbDjHfJqlGlzWJGllWC +GgbGNjQGzzQvFcFfRFmFJbff +pHDSLLCqpqppPZVSCSDdncRFwfmZcRWRJfncmRJn +LDTTLSSDSMQgvNTmzz +bLjgLVlJnjSJjgLgLjqqMcMfddftcCCnCccfQfsC +FRRmphNRmmdwPHpBPswDftDzMCfMcfWMMC +FrvdvrPPFHhNRPvFRmFZVbggqbGjJglJbjjTrVjJ +cSpdczpfRQQGNGGqvGHv +wPwFPhCFWbbmChwWmhFPsWrsDVwqVqZqvVVVvzGHDZqHqtZz +gbPznCbPmmWrWbWhJRpLnLRnTcScRSSLBd +pfwbrjTbDczbzbPcwTQbvWdWWTdddSldVHWSgHgn +mQmFQRFssJJJJthtJmBJmCHMdlWdnlltnHSVlSlgtnvM +BJBhRhRqRLRJNhJhBDwjzPPPcNQZrZrzDr +HTHwQJzwLZNcTwJtFRFHDtFvRFRFdr +jlMnMlbqqpMBvsWBVGRRGdSVgrDthFDddh +qvMjjMMpbPWqmMjnlpplpnWscNwLCQPzQLfzTzcZJfLQLPJz +gCTHTVdPdPvFfdCCSScZSZncMMCGGM +LNqLlssmWlLqzBRzWBwWBRRZdmJZcSSQDncnJtQcGDDDMd +jszNLwNWRRrzNbhbvHpdTjdvfH +NgDWhQmhfFlWFWlzDfhpBwfPBBdwwBJRBPqJJB +HHMCcHtGcMMbSGjScMGLSsRnqdJJlqqpCPJBRpBRdp +trMtLVtjjVtjttGctrLLTlZmgFzZTZzZNQmzZDNFhgFD +MBMtFzBnzSJJttSZBNNZfTsPqTqqqNZNPc +LlQDQLVCwCDbfRCmRGVjCwLLcqslNcNPgqgTPTsqNNsvqHqs +RfffRmdjnnzpndtr +nzpnDRDVwRRjVTSlTtlSSCQLDC +vgZHFBbbfCbvFbrFSSTqqcGtGTtBGQqS +HggMfPfbFZbPvNvgZZdHsnJjCzphzVwJjsmpmjMw +FgvgrgDpRDGTTWVDVd +zmbnNhHHQHshhhcbnHnnbBTMBMLLWLLGMqWLfzLLTV +mnnQHjcHHJmnNcHnnhmvZpRrCVZVZFrRJZVPFr +ZhpVhCSHbsCPbnmF +GBWGGrftTJlrfttQqsVPbPnGjDszFVncsG +qfMlQJWBrNWQfftqrQqBhRvdVVSNVSpZdvSZwZRS +mfzRQqMrtCwLMMZM +sbVbWgFdJCldtNRPNZ +FpggcgsjJccJVJJJcbbWWGrHnfmBnrHzfnfzvqrQmpfR +rWvbrfLnHHnzlFrFWWzJfRQQTwbwRQmQQCgQTwQBwg +MPsqcZpZdpjGMptpqCSsSwRNjQTBhgwhmgwgmmwgBm +SZqqqCDGMtpMFFDvFHfJlvDJ +RZnrZLZbLjRZwdlrnbLClCHMNCTlMMWBPPTHlT +SDgDzQDcfzJBNPssWCwSMN +fpQJwmmQmjhjGRbr +jQzqvLzvMTTQMMSS +VJlSrnBRZbbJbVnWWBlVWRCSNTMppMBMmmNPHMcNBmTMGmHp +CtDZJllRClbFzLtszhqFqS +VwcwzBdmMzJSdMBzzGndGSmlbqbgZgfblTJrTbrqZbTlTb +tRDvCvCRDCDWtPjCHjvDWTgZLfNqclZTTrNfZtLbLc +DDvPhhRRvjFjHPRjvVdMwhnpwBSGcwSGcc +LRtLJSNLdNLjNLRRNdRzVmVrggWmmmpVmpVvBBWFvm +wqfZnsMnhCnlfGPCCqwphJpWrFHBWHrvTrTHTH +ZsbGsflwGtjJbzLLjt +MjdFCjzsQFJQjzbmWHHLPPTfvsLfPZ +cNgpBgplzVvPTvmLPTVm +qNlqpcNtBzjQQCQqJjwJ +cczNGcgNhztlGPCCLDpBSpfVDpCJpSpBWs +nFqnwrRQrHnFHTMnZqQwMnmFsVsfbSSSJBSsfVVDfWVBWbVm +RRFZFMHjrQMjrHZqRjLdchdGtGjzDLgtzN +tzFmNfFNmFclrffhNtNlDWRSdFWnJCnRvRjvJvjD +LMgZgpZLMpPPPVPMMPbjbndWJSnWbWHWSCRbJD +BLwMpgMPgwQpTgTTpMVZMTftcGhhhtrhhcGGzQhsllCN +DWtHFWDHtwsWFHWDWwQblVgnllRBnjvBlVjRVbll +TzChCMGfNhZSLhLhzRRVvvjmczRgvRmv +pZSGpNJhCNGLSNLfMGJfJJQFrDDQDqHHgHpsWPFDttQW +qqccVQZWBVfjzzPVDMJtDtNccCgmtCCm +lvBRHBRGRDDCRmnmbD +SLFpGTSsTSsLFsHGvLvdGvdVwZBzZqqzjdQdZjVfrqwW +dLLwHLTWwjMLRZHCHZglDvjgvvNNDssSsmmN +nPfJPFbnhMJQfnpJGQJfQBBVssglsmsVVmBDsSqDgvNlgv +FbMrPPhrtGbJpnhJpJFFbbpJcwtdZzHZZwHCZdwctzTLcHTw +hCfzfLVbShRwRlBjdzmz +JZhrMMhZgvHFHJnHGgWdpmpnmlpRwBndRBwcBj +rMHFhgHZqtGvrWsbPfPNSbstTffN +dSwQQdSlHtlVQtqqrMZbFBRnBfZRMbDwMw +GTpcgLcvWvGvJzGpZGJpWpfmMWPBmDPRFPMFMmBfbFFW +hpcGhTCsGspLchGGzcpvZNStQHSSlNjjtlttlQsq +nJlhHlLlJGlRnMSsMLsnsSMwFHgwrTBFFwjBjppgpqfwqf +QmzzmbzNcZQQzDVZDcZQNDtzRqRBFTqTjjwpjBBNRrpBwfww +mvQPbQtttVVDzvzmRWCWLhSSslvWLGlW +nSpdSDPpRdrNBhMBMSJJ +bzCTcwzbczCZswMssczmCCgcqBmrQrrmBmqJBVBVNtrVttrq +cvzscgZzwTCsWsZvwTfzljDHnflMGMMndHFDdRPp +sDDnzLVnsMtjnDgfSSbfBjggbqBC +rlrlcppWcGdPrZNccJrSBSmCHqbSqCbSCgCHPq +NWcZgpFFgFpDFnDvtMDFzz +ZpczTjpZcnncHFDn +hSqqJWWWRRhlnFDVSFnQCB +qhNMWfqfMhJJRLRvppDzNZTpPTvwwD +rbSDCwPWwPVcSHcwHspNpNsddszmwGtswN +vBBfgQvBMvMvjLLlllqtBTNNTPPzTztTsRNPTt +vvQnjlMjjjqJqQLSrcDcPWbcHbDrDn +BphwqbwNsjsNsBdDjjhGpsGWzMMTWRTCflfDWSSzfzSlWf +cFnrrHrnZVZQQvFFVvZhRzTCWlSRMSWhZMWt +HvJVvggHvVrmQLqmNqLBbhsssw +NcBqSjGGBjNbZcHwhRVHPwPwPlZR +TvdtdtvFgHwWgdhn +tMJFTvtvFtrLJMHBqNNBzjrQcjqNmB +RrQfLfQvMFdQvLLQVfFcnbSbnwVSnbDslsbSDzDD +PHLjmHqqZCjPglsbwJbqnDbbJl +LNHLhjBHHGRfphphrtfh +FcdMchqcgdchqcfcNWWghNrRrVRjGHFjDJmGFDrRVGJD +zQtvBvtbQzpSzBptzbBznnwZJRDRVmVnGRGrDrHjZGrr +HLspTpQLBqWqLqcNgM +rnqbSSQhsshFqQQnsPSnhbnrzHzzHLNvLHCLFCvVJTlNLJTz +fcffljGBwgmwwftzNdCCdvLvtHNLTH +BjWgMGjjWZMwjjgwgMWpwPlnnqSnqQhnrbPMRDsqQs +hRJhFdNJcrbqbbMF +qZlTTgTvlHnqvllPssQrgQcQwscrQMsf +CClpSnTllZnZCDLHnlNzGSRmRthVmmzqJzhd +DLzSMtDLtzmmlDlMlMDbcrcTDqFvVvVqqTbD +dnZshHpZRChgnszRwRZCpTqqTcwVqFcrVqcBVPqVTr +snRRRdJsZgphCWlWtmJSjWWzjt \ No newline at end of file diff --git a/Advent of Code 2022 Day 3/src/main.java b/Advent of Code 2022 Day 3/src/main.java new file mode 100644 index 0000000..d2aec83 --- /dev/null +++ b/Advent of Code 2022 Day 3/src/main.java @@ -0,0 +1,92 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +import java.util.ArrayList; + +public class main { + + public static void main(String[] args) { + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + //Part 1 + System.out.print("Part 1: "); + + String firstCompartment, secondCompartment; + int sumOfPriorityPart1 = 0, sumOfPriorityPart2 = 0; + char sharedCharPart1 = 0, sharedCharPart2 = 0; + int indexOfCharInCompartmentOne, indexOfCharInCompartmentTwo; + String searchedChar; + int stringCount = 0; + String firstGroupMember = null,secondGroupMember = null,thirdGroupMember; + int indexOffFirstGroupMember, indexOffSecondGroupMember, indexOffThirdGroupMember; + + while ((str = file.readLine()) != null) { + stringCount++; + firstCompartment = str.substring(0, str.length()/2); + secondCompartment = str.substring(str.length()/2); + + for (int i = 65; i <= 122; i++) { + if ((int) 'Z' < i && i < (int)'a') + continue; + searchedChar = String.valueOf((char) i); + indexOfCharInCompartmentOne = firstCompartment.indexOf(searchedChar); + indexOfCharInCompartmentTwo = secondCompartment.indexOf(searchedChar); + if (indexOfCharInCompartmentOne != -1 && indexOfCharInCompartmentTwo != -1) { + sharedCharPart1 = (char) i; + sumOfPriorityPart1 += priority(sharedCharPart1); + break; + } + } + + + //Part 2 + if (stringCount % 3 == 0) { + thirdGroupMember = str; + + for (int i = 65; i <= 122; i++) { + if ((int) 'Z' < i && i < (int)'a') + continue; + searchedChar = String.valueOf((char) i); + indexOffFirstGroupMember = firstGroupMember.indexOf(searchedChar); + indexOffSecondGroupMember = secondGroupMember.indexOf(searchedChar); + indexOffThirdGroupMember = thirdGroupMember.indexOf(searchedChar); + if (indexOffFirstGroupMember != -1 && indexOffSecondGroupMember != -1 && indexOffThirdGroupMember != -1) { + sharedCharPart2 = (char) i; + sumOfPriorityPart2 += priority(sharedCharPart2); + break; + } + } + } + else if (stringCount % 2 == 0) { + secondGroupMember = str; + } + else { + firstGroupMember = str; + } + } + + System.out.println(sumOfPriorityPart1); + + + System.out.print("Part 2: "); + + System.out.println(sumOfPriorityPart2); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static int priority(char letter) { + if (letter <= 90) { + return letter-38; + } + else { + return letter-96; + } + } + +} diff --git a/Advent of Code 2022 Day 4/.classpath b/Advent of Code 2022 Day 4/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 4/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 4/.project b/Advent of Code 2022 Day 4/.project new file mode 100644 index 0000000..a939f2c --- /dev/null +++ b/Advent of Code 2022 Day 4/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 4 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328698 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 4/input.txt b/Advent of Code 2022 Day 4/input.txt new file mode 100644 index 0000000..6443357 --- /dev/null +++ b/Advent of Code 2022 Day 4/input.txt @@ -0,0 +1,1000 @@ +75-76,18-75 +2-54,1-50 +82-83,78-82 +13-37,37-75 +79-80,2-80 +29-90,30-89 +13-16,12-15 +20-93,20-94 +90-95,33-90 +16-77,76-92 +42-52,15-52 +6-34,9-89 +13-77,12-76 +18-81,17-81 +2-34,2-33 +17-92,20-93 +24-89,7-11 +6-49,27-49 +17-69,16-69 +34-57,35-58 +71-76,73-87 +69-72,70-72 +30-70,29-69 +48-85,52-84 +14-69,13-15 +2-61,3-70 +17-86,17-85 +7-98,8-98 +8-93,12-94 +16-35,35-49 +13-59,13-79 +5-95,4-95 +2-40,2-39 +16-44,22-60 +8-26,9-27 +48-89,88-91 +19-97,18-20 +10-81,9-9 +3-40,58-73 +2-93,92-92 +77-83,73-84 +7-84,6-6 +35-45,38-59 +28-79,57-74 +52-82,55-83 +60-60,9-60 +63-86,40-64 +44-80,13-26 +17-67,19-75 +33-69,5-68 +5-31,4-54 +81-82,64-81 +55-92,55-95 +28-29,29-82 +34-93,33-33 +88-95,62-88 +64-81,65-81 +81-82,64-81 +28-94,28-94 +9-76,6-75 +34-36,35-58 +86-89,12-89 +29-31,30-31 +46-78,83-87 +11-77,1-11 +27-34,37-68 +3-4,4-93 +7-89,89-90 +18-94,14-16 +28-89,10-88 +89-91,33-89 +17-53,17-52 +70-87,70-86 +1-33,1-86 +67-68,33-67 +13-75,14-27 +26-73,26-72 +28-57,17-19 +65-65,3-65 +5-92,28-29 +2-19,19-81 +29-42,29-37 +16-70,47-87 +5-77,1-2 +28-40,28-41 +98-98,10-98 +11-21,3-74 +4-32,5-31 +5-98,4-4 +23-99,22-97 +77-99,82-94 +8-91,9-91 +1-60,59-93 +9-11,10-37 +88-88,11-89 +71-89,48-70 +6-77,6-76 +82-91,84-90 +7-97,47-96 +54-64,54-67 +7-34,16-35 +5-97,4-97 +1-1,3-18 +42-51,42-45 +69-70,69-80 +16-86,16-88 +58-59,58-58 +56-86,57-57 +11-35,10-35 +15-20,37-98 +4-97,96-98 +32-34,32-34 +53-66,12-33 +65-65,3-66 +82-83,9-82 +5-59,2-5 +74-90,43-91 +34-86,35-87 +65-91,5-92 +7-86,8-87 +46-48,47-56 +87-92,8-83 +21-21,22-54 +50-97,50-93 +8-74,8-96 +45-46,46-57 +82-98,34-79 +29-62,29-55 +15-68,16-69 +26-88,37-88 +45-78,46-46 +60-65,60-61 +3-36,36-37 +55-84,56-91 +7-99,7-97 +2-98,1-99 +51-89,63-90 +4-99,3-99 +6-50,6-51 +37-98,62-98 +38-86,38-39 +1-96,1-95 +88-90,78-84 +44-61,4-45 +6-89,89-90 +7-93,19-93 +56-94,93-97 +5-25,13-28 +28-35,29-63 +62-70,63-76 +20-20,21-48 +13-48,45-72 +13-50,50-89 +25-79,25-78 +44-74,33-73 +87-87,62-87 +30-57,54-56 +30-64,20-65 +4-95,5-96 +22-54,13-88 +11-11,8-9 +66-84,67-83 +6-95,7-74 +36-84,23-36 +18-35,18-35 +96-97,42-96 +10-11,11-91 +9-96,95-98 +8-68,8-8 +15-18,13-20 +37-50,8-98 +9-10,10-98 +12-93,13-13 +6-79,7-79 +18-59,18-41 +25-52,41-53 +6-82,6-80 +74-74,6-74 +1-98,1-99 +51-94,93-98 +84-98,5-85 +26-35,23-35 +45-89,34-88 +36-78,37-37 +2-11,17-59 +20-96,20-97 +30-46,13-47 +15-86,15-88 +30-60,12-29 +82-97,12-82 +2-2,3-87 +60-89,59-87 +5-85,6-86 +16-84,15-16 +10-29,18-73 +64-93,65-99 +37-60,37-67 +2-98,1-96 +7-14,8-14 +29-64,29-29 +34-58,33-58 +1-97,2-97 +13-20,23-59 +64-64,65-76 +16-48,6-47 +81-90,81-89 +76-91,23-40 +22-46,21-46 +13-74,74-74 +34-35,18-34 +38-90,37-37 +34-61,36-61 +41-52,42-42 +3-12,3-87 +96-97,43-96 +97-98,4-96 +24-67,40-68 +13-31,4-23 +27-57,26-26 +3-84,84-85 +16-94,93-99 +16-16,17-74 +34-60,2-34 +17-98,17-30 +45-61,34-40 +12-17,11-14 +95-95,3-94 +48-69,11-68 +8-51,50-99 +44-80,44-76 +4-4,5-94 +31-47,30-55 +27-35,36-36 +3-57,3-98 +2-90,3-90 +22-79,22-80 +28-46,27-46 +1-1,3-30 +36-81,36-50 +19-40,19-41 +22-93,11-22 +32-58,31-58 +35-44,24-43 +1-8,1-80 +7-27,9-19 +78-90,14-78 +1-37,36-51 +32-36,30-37 +43-45,30-44 +65-80,66-79 +96-97,43-96 +62-94,61-92 +4-96,96-97 +15-75,14-76 +39-82,38-82 +3-95,3-57 +22-98,32-96 +2-93,3-93 +25-62,62-63 +6-58,57-87 +3-25,2-80 +50-54,51-52 +2-91,1-86 +97-98,38-97 +54-74,3-96 +6-31,31-87 +37-39,38-97 +8-55,8-42 +6-33,7-33 +18-96,81-97 +9-95,94-99 +6-13,5-46 +14-73,34-73 +7-94,7-89 +56-86,57-86 +12-53,11-53 +25-60,24-59 +39-75,28-28 +52-53,52-54 +6-35,12-34 +57-88,38-58 +57-58,7-58 +45-64,4-63 +26-84,3-80 +15-84,15-85 +16-89,17-89 +34-91,33-90 +24-67,94-95 +43-45,44-73 +29-65,66-74 +23-83,22-84 +2-99,1-99 +24-52,25-52 +4-6,5-87 +5-96,1-5 +5-18,24-31 +49-93,55-94 +11-94,43-95 +18-41,17-40 +86-88,85-87 +12-56,16-57 +45-71,45-54 +65-73,62-73 +93-93,61-92 +33-94,34-93 +7-62,14-62 +4-99,1-2 +6-69,1-1 +5-84,83-87 +6-82,93-99 +81-81,1-81 +2-81,1-74 +23-93,22-93 +9-11,3-3 +13-40,12-40 +10-87,9-94 +53-63,54-54 +25-72,45-71 +1-2,5-98 +63-67,23-64 +98-98,63-97 +63-87,50-58 +9-80,10-75 +1-1,3-40 +11-75,76-99 +32-98,33-97 +44-44,34-43 +49-52,33-51 +1-97,2-97 +82-82,82-82 +84-97,4-96 +1-95,13-96 +31-87,4-30 +15-40,5-7 +87-91,40-79 +6-99,5-99 +6-67,55-84 +56-94,83-99 +5-48,49-49 +14-25,24-35 +21-66,22-66 +93-96,94-95 +64-65,18-64 +69-96,68-84 +3-98,2-99 +3-95,2-95 +35-98,94-98 +19-28,29-88 +48-94,49-94 +29-47,29-35 +3-50,1-3 +1-4,1-61 +20-63,19-89 +11-96,11-50 +2-2,5-94 +76-97,76-95 +14-33,47-75 +88-91,12-87 +12-64,12-89 +4-84,3-84 +13-98,6-13 +65-75,64-75 +30-30,19-30 +99-99,39-99 +18-70,18-44 +1-31,1-42 +49-84,83-90 +94-95,54-94 +9-94,95-95 +69-69,68-94 +10-82,10-81 +98-99,63-93 +82-82,75-81 +59-66,25-64 +28-88,88-88 +50-81,81-98 +80-80,27-81 +11-95,10-72 +23-96,22-95 +15-73,14-73 +13-13,3-13 +29-77,29-71 +52-89,78-96 +6-52,25-53 +16-87,15-87 +37-85,63-86 +2-26,11-27 +27-48,28-28 +17-29,9-17 +21-70,21-76 +85-99,85-86 +47-77,48-77 +4-35,36-36 +92-96,58-92 +48-80,47-79 +4-29,82-90 +26-88,27-89 +37-92,36-38 +10-93,11-94 +72-72,17-73 +58-66,60-67 +19-46,19-19 +39-78,30-39 +61-99,39-60 +8-92,8-91 +7-83,5-7 +3-80,1-1 +90-99,5-91 +5-92,92-93 +6-88,6-89 +57-95,19-94 +30-76,31-31 +12-94,93-93 +35-49,36-49 +15-67,16-66 +88-91,63-89 +56-79,55-55 +1-5,4-12 +31-87,30-88 +72-79,73-80 +69-81,70-91 +20-42,43-43 +3-65,15-66 +46-46,45-72 +16-21,15-22 +98-99,34-97 +10-28,48-80 +1-97,3-98 +14-99,15-99 +25-25,25-75 +12-91,12-92 +94-98,11-79 +9-90,9-92 +50-54,49-51 +64-82,64-83 +8-10,9-59 +9-96,96-96 +1-17,23-86 +66-91,66-98 +3-93,2-82 +7-8,8-83 +24-28,25-28 +94-95,7-94 +38-86,38-93 +4-50,32-49 +7-61,61-88 +86-86,9-85 +10-94,7-10 +96-96,10-96 +13-67,40-68 +21-53,22-53 +12-38,13-39 +4-7,21-63 +26-90,91-96 +56-99,56-98 +19-20,18-19 +86-90,7-85 +18-59,18-32 +73-75,69-75 +24-77,25-77 +28-94,25-26 +17-79,79-80 +55-57,54-80 +8-22,8-22 +96-96,7-96 +51-63,53-63 +14-99,15-99 +20-98,20-97 +93-95,9-66 +79-93,78-79 +20-48,20-53 +43-81,44-82 +28-93,29-94 +1-28,28-29 +81-86,56-86 +30-86,89-89 +79-79,78-90 +87-93,27-62 +37-87,37-87 +95-96,4-95 +40-72,38-41 +67-80,48-79 +63-63,19-63 +3-98,16-99 +64-93,37-43 +8-85,16-83 +66-69,50-68 +11-87,12-86 +77-92,5-92 +99-99,96-98 +3-94,2-4 +29-97,28-96 +57-76,65-76 +58-75,58-63 +67-88,66-88 +77-88,57-86 +5-84,84-97 +10-71,8-70 +7-17,3-18 +42-89,43-89 +30-31,3-30 +42-87,41-43 +68-93,67-94 +3-85,3-86 +26-81,27-27 +82-99,74-83 +50-88,51-89 +7-9,11-81 +17-53,25-53 +5-95,5-99 +34-73,74-90 +34-40,35-40 +10-68,46-69 +28-96,95-98 +58-59,5-58 +1-99,2-99 +4-98,5-87 +3-96,2-98 +84-88,83-85 +11-96,10-97 +19-88,2-87 +19-72,23-51 +6-96,2-96 +18-64,14-16 +96-99,3-97 +75-91,13-75 +18-57,32-58 +17-33,17-37 +43-64,63-63 +97-97,14-84 +89-99,9-89 +63-85,64-85 +77-78,47-77 +20-21,1-16 +23-33,23-28 +58-90,59-67 +39-80,20-40 +15-46,3-15 +13-82,81-89 +1-4,9-92 +15-45,3-15 +18-78,12-12 +3-3,2-61 +1-9,1-3 +7-7,6-99 +5-35,4-34 +5-74,6-74 +18-55,17-55 +92-94,11-68 +27-97,27-83 +14-57,57-58 +25-69,26-36 +72-94,72-95 +4-80,4-94 +7-77,7-99 +42-91,42-92 +38-67,22-37 +40-93,40-87 +31-65,5-64 +34-96,96-97 +1-28,27-27 +12-63,13-13 +97-99,71-91 +17-69,16-68 +56-67,56-65 +5-68,6-68 +17-93,23-99 +8-14,7-14 +18-89,18-18 +3-38,39-62 +4-4,5-39 +27-85,84-84 +32-95,96-99 +7-68,17-67 +20-69,19-70 +92-92,32-91 +3-18,4-46 +13-94,13-94 +52-80,52-81 +29-87,3-86 +79-80,35-79 +23-67,47-68 +22-96,24-95 +7-68,4-4 +5-98,3-5 +84-89,84-99 +18-21,1-15 +41-85,40-85 +38-63,60-60 +43-89,43-43 +11-83,10-84 +43-61,11-43 +25-91,26-26 +23-23,22-95 +2-2,1-92 +79-94,9-79 +6-96,34-96 +58-75,57-67 +11-14,14-15 +20-93,19-21 +7-85,7-85 +19-56,20-55 +87-89,6-87 +90-90,2-91 +23-50,22-49 +78-92,22-77 +75-77,74-76 +81-90,81-94 +26-81,81-81 +12-58,41-90 +14-84,13-84 +38-89,39-90 +66-73,65-73 +8-75,8-63 +6-67,3-4 +2-69,3-68 +15-61,15-69 +57-75,57-76 +9-98,98-99 +6-6,20-67 +47-91,46-90 +26-96,26-97 +25-56,24-56 +28-53,27-53 +26-55,25-55 +25-68,26-68 +6-11,11-37 +24-27,25-25 +44-56,8-57 +29-30,29-98 +28-33,27-67 +7-17,7-11 +4-5,25-77 +33-35,34-75 +1-72,73-73 +10-92,92-93 +2-22,83-94 +4-97,96-99 +38-50,18-51 +39-42,41-41 +55-57,55-58 +19-89,36-88 +47-67,48-68 +83-90,83-85 +3-80,46-81 +22-92,48-61 +19-93,33-94 +2-3,1-72 +98-99,30-97 +35-54,54-54 +4-97,5-98 +7-90,8-91 +31-61,4-29 +14-18,15-25 +26-27,26-63 +26-26,9-26 +25-60,60-60 +66-97,63-96 +70-91,6-71 +21-88,22-22 +18-92,14-18 +11-87,4-7 +57-88,58-88 +37-81,3-44 +67-89,55-98 +25-91,24-90 +68-82,67-67 +70-72,43-71 +4-74,74-75 +18-83,9-19 +16-80,81-81 +3-75,2-74 +3-71,11-72 +38-55,7-38 +19-65,20-49 +17-98,16-18 +45-95,24-94 +11-16,15-89 +28-68,29-43 +26-26,25-48 +4-98,3-30 +9-95,95-96 +31-54,31-58 +31-43,30-30 +8-10,10-89 +2-15,1-90 +26-76,46-77 +63-91,62-91 +4-62,19-63 +36-88,36-87 +19-98,19-97 +2-98,98-98 +11-84,11-85 +26-29,6-28 +22-61,26-72 +38-56,38-57 +9-73,1-72 +24-73,23-73 +80-80,9-79 +31-33,32-96 +3-94,4-93 +26-26,25-83 +1-99,1-97 +7-94,7-99 +10-52,3-51 +39-47,42-47 +44-96,43-44 +3-94,2-94 +30-44,29-43 +60-99,60-92 +18-69,69-69 +20-32,1-20 +2-81,13-82 +16-75,9-16 +69-79,80-91 +12-90,12-15 +55-67,56-93 +17-45,3-17 +3-3,2-78 +12-27,28-28 +42-90,59-90 +30-96,31-98 +47-68,63-64 +1-97,2-97 +28-81,22-81 +10-88,1-88 +15-84,15-81 +67-72,68-68 +1-72,1-72 +90-91,86-90 +89-94,79-93 +92-98,15-92 +2-99,1-99 +1-99,99-99 +16-99,17-99 +11-17,17-95 +38-87,39-87 +24-47,28-46 +38-94,38-99 +58-85,59-67 +20-22,21-21 +82-88,59-87 +90-99,89-98 +12-21,20-91 +64-99,61-64 +6-43,5-44 +23-23,24-76 +4-95,3-3 +23-71,24-71 +39-47,38-38 +73-91,92-92 +23-93,87-96 +46-76,27-77 +78-79,65-78 +27-46,26-46 +77-82,83-85 +2-54,54-55 +1-3,6-99 +42-42,22-43 +7-96,8-96 +28-33,28-87 +1-31,1-85 +2-93,3-94 +4-96,2-96 +30-30,29-99 +30-39,30-30 +4-18,34-88 +68-69,68-87 +30-95,30-76 +10-63,10-99 +2-98,98-98 +12-37,11-11 +9-80,9-81 +37-37,38-83 +95-99,7-95 +3-26,60-98 +3-99,4-28 +5-95,6-95 +41-86,42-85 +72-95,39-94 +1-51,1-62 +3-95,95-96 +73-83,74-79 +93-97,93-96 +33-93,32-93 +22-40,21-39 +11-14,18-79 +96-97,58-95 +16-40,40-89 +1-88,2-88 +5-51,5-29 +20-48,31-49 +3-95,95-96 +23-89,23-90 +55-80,56-79 +43-43,42-59 +55-84,54-83 +13-76,76-77 +22-94,9-35 +23-96,68-91 +1-85,60-84 +27-27,11-27 +33-35,33-64 +9-77,10-10 +69-81,90-91 +16-95,16-96 +21-94,21-22 +7-95,3-94 +47-79,1-57 +5-39,5-39 +12-82,13-82 +70-70,63-70 +64-64,26-63 +2-4,4-94 +80-80,79-97 +38-75,37-38 +54-91,92-92 +63-83,63-65 +8-56,8-55 +98-98,27-97 +26-91,28-92 +24-85,20-72 +13-18,30-84 +29-67,29-68 +87-95,8-87 +13-26,11-41 +16-99,17-99 +16-98,17-98 +18-54,18-83 +63-80,64-87 +63-63,58-63 +37-91,37-85 +6-12,4-7 +6-58,30-59 +18-52,53-96 +17-61,17-75 +49-72,71-97 +11-69,11-36 +22-84,22-83 +1-64,1-65 +27-39,38-38 +48-49,49-88 +1-1,3-74 +55-92,55-98 +51-51,8-52 +2-26,1-26 +23-64,64-64 +57-82,57-81 +91-91,26-91 +6-97,41-98 +1-94,1-95 +56-83,16-99 +8-8,10-88 +38-43,6-42 +22-84,2-89 +14-76,72-88 +31-93,30-93 +72-92,73-92 +57-58,21-57 +4-94,6-94 +11-85,86-86 +9-61,8-61 +69-91,69-69 +27-77,77-78 +10-52,10-51 +9-9,8-49 +66-67,65-78 +2-90,2-98 +42-42,41-79 +3-86,3-42 +15-93,25-73 +26-94,27-95 +16-99,15-99 +1-1,3-65 +97-98,4-96 +25-87,26-97 +3-20,20-96 +32-81,32-80 +22-85,22-95 +4-96,97-98 +97-99,62-75 +87-99,46-87 +98-99,44-76 +26-93,26-33 +56-87,34-63 +1-91,95-98 +12-97,11-80 +19-36,19-91 +19-25,25-98 +99-99,7-92 +37-46,38-43 +73-75,73-78 +18-97,97-97 +4-98,4-94 +88-88,25-88 +95-95,4-95 +3-70,9-71 +20-54,19-21 +34-40,24-39 +3-3,2-95 +5-37,4-37 +5-81,5-80 +2-95,9-95 +12-87,13-13 +2-3,2-96 +19-63,19-94 +64-84,35-35 +8-96,5-95 +37-69,38-52 +91-98,12-92 +66-87,66-83 +36-58,20-57 +8-82,82-83 +11-71,13-70 +40-43,39-43 +1-73,1-1 +12-91,12-92 +73-97,41-57 +6-83,7-7 +20-36,19-41 +15-91,14-90 +18-51,13-50 +12-97,97-97 +1-89,89-89 +13-34,12-34 +46-52,46-79 +34-36,34-35 +22-76,76-76 +3-93,4-76 +34-35,22-34 +7-20,20-20 +16-47,2-27 +59-60,2-59 +96-99,37-94 +4-92,4-94 +12-30,8-29 +22-32,22-22 +1-99,2-98 +61-70,53-70 +45-96,46-96 +84-99,2-85 +1-2,1-99 +19-99,20-94 +77-86,86-88 +25-83,3-82 +6-70,5-70 +38-85,85-86 +55-83,55-84 +87-98,86-97 +29-31,29-74 +5-42,5-41 +21-99,21-77 +47-71,46-51 +33-51,50-50 +52-60,5-40 +28-94,29-29 +6-23,11-14 +31-33,32-48 +74-75,44-74 +84-96,84-96 +38-38,37-45 +53-90,92-94 +12-32,2-8 +39-70,38-70 +93-96,17-93 +43-60,33-37 +4-22,3-95 +1-89,2-90 +27-76,26-77 +34-71,57-71 +49-62,20-62 +48-97,2-95 +11-72,2-5 +72-72,72-92 +22-65,64-78 +24-96,24-25 +38-93,32-94 +70-71,59-70 +38-76,38-76 +31-50,30-50 +22-97,21-69 +22-79,24-80 +69-88,88-88 +47-48,46-87 +27-29,28-42 +24-24,25-71 +11-94,20-95 +1-10,29-85 +32-52,32-86 +15-72,73-93 +15-28,15-47 +14-64,15-64 +88-88,25-89 +80-80,15-80 +3-58,58-59 +19-96,95-99 +39-74,40-87 +64-71,71-72 +49-80,36-80 +61-79,49-78 \ No newline at end of file diff --git a/Advent of Code 2022 Day 4/src/main.java b/Advent of Code 2022 Day 4/src/main.java new file mode 100644 index 0000000..615cb0d --- /dev/null +++ b/Advent of Code 2022 Day 4/src/main.java @@ -0,0 +1,51 @@ + import java.io.IOException; +import java.io.RandomAccessFile; + +public class main { + + public static void main(String[] args) { + + try { + RandomAccessFile file = new RandomAccessFile("Input.txt", "r"); + String str; + + int indexOfSeperator = 0, indexOfFirstDash = 0, indexOfSecondDash = 0; + int sectionBeginningElf1, sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2; + int countPart1 = 0, countPart2 = 0; + + while ((str = file.readLine()) != null) { + indexOfSeperator = str.indexOf(","); + indexOfFirstDash = str.indexOf("-"); + indexOfSecondDash = str.indexOf("-", indexOfFirstDash+1); + + sectionBeginningElf1 = Integer.valueOf(str.substring(0, indexOfFirstDash)); + sectionEndingElf1 = Integer.valueOf(str.substring(indexOfFirstDash+1,indexOfSeperator)); + sectionBeginningElf2 = Integer.valueOf(str.substring(indexOfSeperator+1, indexOfSecondDash)); + sectionEndingElf2 = Integer.valueOf(str.substring(indexOfSecondDash+1)); + + // Part 1 + if ((sectionBeginningElf1 <= sectionBeginningElf2 && sectionEndingElf1 >= sectionEndingElf2) + || (sectionBeginningElf2 <= sectionBeginningElf1 && sectionEndingElf2 >= sectionEndingElf1)) { + countPart1++; + } + + // Part 2 + if (between(sectionBeginningElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionBeginningElf2, sectionBeginningElf1, sectionEndingElf1) || between(sectionEndingElf2, sectionBeginningElf1, sectionEndingElf1)) { + countPart2++; + } + + //System.out.println(sectionBeginningElf1 + " " + sectionEndingElf1 + " - " + sectionBeginningElf2 + " " + sectionEndingElf2); + } + System.out.println("Part 1: " + countPart1); + System.out.println("Part 2: " + countPart2); + file.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static boolean between(int variable, int minValueInclusive, int maxValueInclusive) { + return variable >= minValueInclusive && variable <= maxValueInclusive; + } + +} \ No newline at end of file diff --git a/Advent of Code 2022 Day 5/.classpath b/Advent of Code 2022 Day 5/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 5/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 5/.project b/Advent of Code 2022 Day 5/.project new file mode 100644 index 0000000..13736da --- /dev/null +++ b/Advent of Code 2022 Day 5/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 5 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328704 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 5/input.txt b/Advent of Code 2022 Day 5/input.txt new file mode 100644 index 0000000..c7ae764 --- /dev/null +++ b/Advent of Code 2022 Day 5/input.txt @@ -0,0 +1,14 @@ + [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 1 from 2 to 1 +move 3 from 1 to 3 +move 2 from 2 to 1 +move 1 from 1 to 2 \ No newline at end of file diff --git a/Advent of Code 2022 Day 5/src/main.java b/Advent of Code 2022 Day 5/src/main.java new file mode 100644 index 0000000..b7436f7 --- /dev/null +++ b/Advent of Code 2022 Day 5/src/main.java @@ -0,0 +1,182 @@ +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.Queue; +import java.util.Stack; + +public class main { + static ArrayList> supplyStacksPart1; + static ArrayList> supplyStacksPart2; + + + public static void main(String[] args) { + supplyStacksPart1 = new ArrayList>(9); + supplyStacksPart2 = new ArrayList>(9); + for (int i = 0; i < 9; i++) { + supplyStacksPart1.add(new Stack()); + supplyStacksPart2.add(new Stack()); + } + populateArrayListOfStacks(supplyStacksPart1); + populateArrayListOfStacks(supplyStacksPart2); + + int numberOfCratesToMove = 0,stackToBeMovedFrom = 0, stackToMoveTo = 0; + int line = 0; + int offset = 0; + + Stack temporalHoldingOfCrates = new Stack(); + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + while ((str = file.readLine()) != null) { + line++; + + if (line >= 11) { + if (str.charAt(7) != ' ') { + numberOfCratesToMove = Integer.valueOf(str.substring(5,6)); + offset = 0; + } + else { + numberOfCratesToMove = Integer.valueOf(str.substring(5,7)); + offset = 1; + } + + stackToBeMovedFrom = Integer.valueOf(str.substring(12+offset,13+offset)); + stackToMoveTo = Integer.valueOf(str.substring(17+offset)); + for (int i = 0; i < numberOfCratesToMove; i++) { + //Part 1 + if (!supplyStacksPart1.get(stackToBeMovedFrom-1).empty()) { + supplyStacksPart1.get(stackToMoveTo-1).push(supplyStacksPart1.get(stackToBeMovedFrom-1).pop()); + } + + //Part 2 + if (!supplyStacksPart2.get(stackToBeMovedFrom-1).empty()) { + temporalHoldingOfCrates.push(supplyStacksPart2.get(stackToBeMovedFrom-1).pop()); + } + } + for (int i = 0; i < temporalHoldingOfCrates.size(); i++) { + supplyStacksPart2.get(stackToMoveTo-1).push(temporalHoldingOfCrates.pop()); + } + + for (int i = 0; i < 9; i++) { + if (!supplyStacksPart2.get(i).empty()) + System.out.print(supplyStacksPart2.get(i).peek()); + else + System.out.print(" "); + } + System.out.println(); + } + } + + + + System.out.print("Part 1: "); + for (int i = 0; i < 9; i++) { + if (!supplyStacksPart1.get(i).empty()) + System.out.print(supplyStacksPart1.get(i).peek()); + } + + System.out.println(""); + + + System.out.print("Part 2: "); + for (int i = 0; i < 9; i++) { + if (!supplyStacksPart2.get(i).empty()) + System.out.print(supplyStacksPart2.get(i).peek()); + } + + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static void populateArrayListOfStacks(ArrayList> arrayListOfStack) { + arrayListOfStack.get(0).push('Z'); + arrayListOfStack.get(0).push('N'); + + arrayListOfStack.get(1).push('M'); + arrayListOfStack.get(1).push('C'); + arrayListOfStack.get(1).push('D'); + + arrayListOfStack.get(2).push('P'); + /* + // Stack 1 + arrayListOfStack.get(0).push('W'); + arrayListOfStack.get(0).push('D'); + arrayListOfStack.get(0).push('G'); + arrayListOfStack.get(0).push('B'); + arrayListOfStack.get(0).push('H'); + arrayListOfStack.get(0).push('R'); + arrayListOfStack.get(0).push('V'); + + // Stack 2 + arrayListOfStack.get(1).push('J'); + arrayListOfStack.get(1).push('N'); + arrayListOfStack.get(1).push('G'); + arrayListOfStack.get(1).push('C'); + arrayListOfStack.get(1).push('R'); + arrayListOfStack.get(1).push('F'); + + // Stack 3 + arrayListOfStack.get(2).push('L'); + arrayListOfStack.get(2).push('S'); + arrayListOfStack.get(2).push('F'); + arrayListOfStack.get(2).push('H'); + arrayListOfStack.get(2).push('D'); + arrayListOfStack.get(2).push('N'); + arrayListOfStack.get(2).push('J'); + + // Stack 4 + arrayListOfStack.get(3).push('J'); + arrayListOfStack.get(3).push('D'); + arrayListOfStack.get(3).push('S'); + arrayListOfStack.get(3).push('V'); + + // Stack 5 + arrayListOfStack.get(4).push('S'); + arrayListOfStack.get(4).push('H'); + arrayListOfStack.get(4).push('D'); + arrayListOfStack.get(4).push('R'); + arrayListOfStack.get(4).push('Q'); + arrayListOfStack.get(4).push('W'); + arrayListOfStack.get(4).push('N'); + arrayListOfStack.get(4).push('V'); + + // Stack 6 + arrayListOfStack.get(5).push('P'); + arrayListOfStack.get(5).push('G'); + arrayListOfStack.get(5).push('H'); + arrayListOfStack.get(5).push('C'); + arrayListOfStack.get(5).push('M'); + + // Stack 7 + arrayListOfStack.get(6).push('F'); + arrayListOfStack.get(6).push('J'); + arrayListOfStack.get(6).push('B'); + arrayListOfStack.get(6).push('G'); + arrayListOfStack.get(6).push('L'); + arrayListOfStack.get(6).push('Z'); + arrayListOfStack.get(6).push('H'); + arrayListOfStack.get(6).push('C'); + + // Stack 8 + arrayListOfStack.get(7).push('S'); + arrayListOfStack.get(7).push('J'); + arrayListOfStack.get(7).push('R'); + + // Stack 9 + arrayListOfStack.get(8).push('L'); + arrayListOfStack.get(8).push('G'); + arrayListOfStack.get(8).push('S'); + arrayListOfStack.get(8).push('R'); + arrayListOfStack.get(8).push('B'); + arrayListOfStack.get(8).push('N'); + arrayListOfStack.get(8).push('V'); + arrayListOfStack.get(8).push('M'); + */ + } + +} diff --git a/Advent of Code 2022 Day 6/.classpath b/Advent of Code 2022 Day 6/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 6/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 6/.project b/Advent of Code 2022 Day 6/.project new file mode 100644 index 0000000..40481a1 --- /dev/null +++ b/Advent of Code 2022 Day 6/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 6 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328710 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 6/input.txt b/Advent of Code 2022 Day 6/input.txt new file mode 100644 index 0000000..b143fae --- /dev/null +++ b/Advent of Code 2022 Day 6/input.txt @@ -0,0 +1 @@ +cdhccdbdggfjjgssjzjzggjnjpnpbbzbnzzflfjfnfrrpvrvbrvvrvggvlvnnbrnrcncsnndbndbnndbdndfdrdvrvvndvvbggnrrnbrnntffgttwzwnnmvmcvvhsstzzlnlwlttbzzpnpmnnjvjnntmnmfftwwrfwrwswmmfrrfrrgbrbffwvvshvhrhmhththbbmqbmqqlslhssrmmqdmmjtmtmjtmjtttnwnvwvqwqjjnbbbdbqbnbpnbnllglcglcgcdczdznnqhhfthtmtlldqlqrrmddrldlzdllvddjcddqfqbqsbqqnllwppqpqzzrbbdppzsppjdpdqpdqdfqfrrwbwrwwqcqcsqsvvpbvbbztzptzzpccdtdhdffvqvcvzzmwzwddjfdffplplqlvlmmmvggpmpvpddpbptplpvlplvpvvnrvnnbqqqjhhwfhwfhwhqhmmpphqpqvppfzpzjzddgzzwffjmjggwhwwnnmlmpmmhcmcpcrcddvzvpzzwnznfznffgdgvddvtvgvsvdsdbbjnjtntbnttgbbbvgvgrgrzrvzrzddlsddcndcnnfqnnmpmlppdlplzplzpzgzmzmddlvlnnbttbwwhbhdhfdfssjppmcpplpdddnpdnnljlwjljsjnjhnhvhvqqsffrbbdttjdjndjdwwsfspffnhfhhlvhvmmqjmmwzwszwwvdvpdvdbdtdsdtsshvvmtvmtmctclchccrllznzfffpjjvhhdmhhvphpghgsgmmhlhnlnmnlnslnlgngznnsqnqddllpwllmzmjmttptfpplglqlgglgqqptqqmvmtmjmddcchbblltslsvsmvmgghmmccnzcztczzmnmttrdrvvcvzvvzllbhllnldndbbqffbbgtgddbtdbbzttdptpccjnjppbllbzlblrlcllhrrhqhgqqbcqcvcdvvnnzfzvzttrptrrwmrmlrlddvttdbtdbdcdvccwlcwwhphmppwfppclpcllgqgnghhvfflfggrzrcchfhhrdhrdhdnhnmmhjjwqjjpmmwvmmdnmnzzqmqwwmtthtdhtthnnqhqdhqqndqqwffsbspbptpmmndnllsmmdhmhfhnhjhghshlslppbgpgngddlsljsjmmzqzhhswhssfzssfqqcmqcmqcmmqggjcjvvgssrccwddmpmwwdfdpdbdpdwdvvqfvfrvvvsbvbhvvmqqcjqqvzqzppncnhhqnnpgplpqqpjpbblpbbbshsthhvfhfmmqzmmznnvrvqrrwdrdlrlwlttzqttjvttqltqqnfqqqwjqwwqttfstftjffsqqnhhnsnqqhggbsgghfgglslmssqlqhlhthqhccdsspsnssshbbnmngnnhllwclcffqllsrszrssnqsqvqjvjcvcttqgqbqmmfqfsqfsqswwvcvffndnfdfvfcvvggsmsfmfwfpfwwzhznntgtlglmmlfmllwrlrwwhcchqchhznzjjcdjdbjjhcjcscwwlnnsgngqqtgqgngnwgnnhqnnhchmchhtchcnclcmccgffbmmzvvrnngwwvddzccnjntjtwjwwztwtmtddjddpsptpbpbvvbwwnlnmndmnmdnnclnnbsbddpfdfvvjtjqqtqqqzjzlzqllzzwwlppvfffpcffffprrncnnzsnznhhwvvqhqphpjjgqqvnnmdmqqglqlblgglrlsspscsjjpvpbpjjwccslsppdjpdjjwvjjmhjhtjjwqqbqjqzjqzqpqbbswwlssqzssbjjpjqjbbjcjpjspjssjjzhhhnjhnhbnhhwzhzwlcshqlqpzgggzmcwntcwmfgtrwwjdpnbdqqcgnzgbdrzdmpwgvtvqffqbpvjpjrcfswffllnvnwvhclpjcwqwgnwqwvwsfgflrgzzsswffwjdjgvdvlgmczcbthwbvhggwzwlzfmhvwvjpbpnhcczbgfhhgghsmjwnvnsvnvmqwstrgnncwbqgbqpgdngllcqnzgwswpgtwzgqzggnzsdgltrlqfctqfvlzdswccfpdtjbfnrbqsmpjclnplbmqbmvwbzzdflwbqrljvzjpcrmnqsmrpqlmfsgcmthqpwgwzvmrjnhqczljcpnzjbwzrhjrzmcqpmlbzhgmqrlzsjbjsvcmcngptzlrthwsrjrlmsrgjlzrvpzwmprwnpgvjtspsppfvwfwcvbnqcwwmzlbqthqmbnbmnsnzgsbbnqtrvhlzjhphclpjzrdblszrnftqgwwrhpznhjhgrncvsvrmtmmgssvzddjfrnrzhbrqrfffjvzrqdnrdbvjwgrvlcpbncfgczlwdggsjmwzhndcdbggjvwfljctjnsjwczwfdrfttbhnlswfdbpcnwpspdhnzwqbgdswwpccbpfpgmfmvvwpzbzqsbbjbfnhjpszcbnrdplmwtdjtpcsztdjcmczltnstzwlcdbtdhsdgsgtlvdfqggfmmrppjfrmtfwhpbjsppszjbhmthndqmvbmqcbtqsltwrcvlvblwspbgspjftwllzcmnsrvjpnstzrfmcflnhppsdfggwbzvnvlnjqlfvrlplnzvfrwvgcgqvnpfgtgchctvhcplclzmfpwgnfhqjgglfmsgpflqcpqmbbhwnvvdllcnhblpnndbdtmgvfbvvvlvzlrpfqmnvzbfrssjtlgcjtpfznshvdjrjnfshfcgvwcdbqlfsbhnzwmsgwhpbzttgfjsqgwvdmbdwjljhsndrbbzfrsqjhcbldzqpmtnfvnmzltjcrvrltwshnhqlnclmcnfpbzstsczlqmfmdftzfbcwqnhqppzfbzpbfjhmmtvtbmblmtshsbtjlvsqvmbmgstbbdmhprqmtpfdqqntmnlbmpsmwfgrvstjcllhwpcddnljdjvdrbwqmgrjnldpgnrhgqpzqrvwzsngrgnbpjnsffzjsbdptwnnfcqlscfhvggpfstsnqzcjbqqhgdpqsrlprcppgqmddpqpbnvgwtdqsbbgtvsqfrtqfsbdzhsztfmvwrrsjcbtcjgzrnhnpgldtwbwgmwbgmjjzsbbzlhgmlczrhjwtzrgwscmjvlstprldhglvftqzbtrmcwzgtjppbnjcdvjvcwvdbngnbrmjvvtnwdqfclbpgzcfnnnlnngtgmhsqsdmbjctjzjpbrwrhscqshmmwbtfnzjgsrjlnqqdsvdrjdzsdprphnfmwwcztqfcrjvnfhlvnqwbrfmcvhrbtgvcrqjjfcnzwmlfzzdcbbzvphhmsdltwjfdcgthpvszqzjdbfwrpvhbjqdhrscnvjhjvvcldnhgjclmzpbrrwnscgpcqrpdgsnjnwhctcdqgwqbrcszfzpmtdrhlftvwffdjrtznqrppqbdbwvzmtlpvsqqpcngjgfdrpngnspdwhhvlhqrtsphgqrlldggtrvqsprbfdmrpgcmqphdvjfmhlznpgtqlvtnllcdhzhhtjjlfvdlwhcrfmjmdjtmbllvsfgvmfqtqlmrlrjmqptszvjdpzhphppljnpjdjpwlrclssgdnstchhwhpflmlrtdqvqbbljrmnflrltzpqmgqfrczvfzrpfsrwsgpljvjfjdjdvjchcdmmtjgghqspwzdtwqgtvmnrrbfbgnhcrvnzznrdlqmgmdwmpwzlqdjtvpszwnjtjtmjqvfwvftlhgpvgzswpbvbllfcwpjnsmbhzrdpdzjsrpnhphdcqjmzvvhrjcwhgwjwcshqwzpbpmfnjjvqcjrqmvsrdrtdvfhwhrbpvrqrsfzflslqtdrtcsggtzmpvbszdgttlvpwwltvpcwqmnwqtpcfzgsvsmncvpqqdrljfwtncplmjlpfcnqmcctwzhrbmrfwvsrjsbnhjrjmrnbmmnnhsvlltwzzhsgwppnlmljgpcsmpchdjdzpgvrtwsfzffhnlbfmrldzbshvpqhnfzpwnvczgfvhbntcpztwqlfgtsmdhvcrgjhvqrhbpvbpzcpbgzrcfjztbnfjptbzfpztwprwf \ No newline at end of file diff --git a/Advent of Code 2022 Day 6/src/main.java b/Advent of Code 2022 Day 6/src/main.java new file mode 100644 index 0000000..e921ec9 --- /dev/null +++ b/Advent of Code 2022 Day 6/src/main.java @@ -0,0 +1,58 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +import java.util.ArrayList; + +public class main { + + public static void main(String[] args) { + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + while ((str = file.readLine()) != null) { + //Part 1 + System.out.print("Part 1: "); + System.out.println(findStartOfSequence(str,4)); + + //Part 2 + System.out.print("Part 2: "); + System.out.println(findStartOfSequence(str,14)); + } + + + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static int findStartOfSequence(String input, int lengthOfSequence) { + char[] sequence = new char[lengthOfSequence]; + boolean matchFound = false; + + for (int i = lengthOfSequence; i <= input.length(); i++) { + matchFound = false; + for (int j = 0; j < lengthOfSequence; j++) { + sequence[j] = input.charAt(i-lengthOfSequence+j); + } + + for (int j = 0; j < lengthOfSequence; j++) { + for (int k = 0; k < lengthOfSequence; k++) { + if (j == k) { + continue; + } + if (sequence[j] == sequence[k]) { + matchFound = true; + break; + } + } + } + if (!matchFound) { + return i; + } + } + return -1; + } +} diff --git a/Advent of Code 2022 Day 7/.classpath b/Advent of Code 2022 Day 7/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code 2022 Day 7/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code 2022 Day 7/.project b/Advent of Code 2022 Day 7/.project new file mode 100644 index 0000000..e7123dd --- /dev/null +++ b/Advent of Code 2022 Day 7/.project @@ -0,0 +1,28 @@ + + + Advent of Code 2022 Day 7 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328714 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code 2022 Day 7/bin/input.txt b/Advent of Code 2022 Day 7/bin/input.txt new file mode 100644 index 0000000..97279b9 --- /dev/null +++ b/Advent of Code 2022 Day 7/bin/input.txt @@ -0,0 +1,1013 @@ +$ cd / +$ ls +dir jmtrrrp +dir jssnn +dir lbrmb +11968 pcccp +$ cd jmtrrrp +$ ls +77968 chq.jvb +dir fmgsql +$ cd fmgsql +$ ls +dir dbnsfp +dir vvp +$ cd dbnsfp +$ ls +51021 crlq.lrj +186829 dhcrzvbr.wmn +16232 fvhn.fqm +54150 qpbqqj.rpg +$ cd .. +$ cd vvp +$ ls +179105 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd .. +$ cd jssnn +$ ls +dir bphfqs +dir dbnsfp +dir pcccp +dir snr +dir zjbvwsnv +$ cd bphfqs +$ ls +110077 dhcrzvbr.wmn +$ cd .. +$ cd dbnsfp +$ ls +dir hgvh +dir jtqdcmsz +154197 rrcsndz.tzp +$ cd hgvh +$ ls +dir qjnbg +$ cd qjnbg +$ ls +dir bqzfpr +$ cd bqzfpr +$ ls +124394 wjsbsp +$ cd .. +$ cd .. +$ cd .. +$ cd jtqdcmsz +$ ls +275597 dbnsfp.fpg +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir cnbd +85621 cqzvwl +dir dbnsfp +114355 hbhp.cfv +dir mcgq +dir pcccp +dir qpbqqj +224038 rrcsndz.tzp +dir zcsm +27570 zjbvwsnv.fjt +$ cd cnbd +$ ls +dir jrbz +dir pphv +$ cd jrbz +$ ls +dir dwvlwfq +$ cd dwvlwfq +$ ls +32237 fwclr.rnb +$ cd .. +$ cd .. +$ cd pphv +$ ls +180370 dhcrzvbr.wmn +50154 dzvwdwl.gbt +123965 mlsv.hlw +163116 wnhtwr.mwl +$ cd .. +$ cd .. +$ cd dbnsfp +$ ls +252181 btv.mpv +dir hwncj +dir pcccp +$ cd hwncj +$ ls +51410 jbd.fcm +$ cd .. +$ cd pcccp +$ ls +258123 chq.jvb +$ cd .. +$ cd .. +$ cd mcgq +$ ls +206506 qpbqqj.bbb +$ cd .. +$ cd pcccp +$ ls +193219 ddhtnql.hmb +134114 hjbpzqzb.rwn +108927 lznndn.nqd +73241 ncdrv +$ cd .. +$ cd qpbqqj +$ ls +dir crdt +dir tgchdnc +$ cd crdt +$ ls +205710 chq.jvb +$ cd .. +$ cd tgchdnc +$ ls +dir bdw +dir dpl +dir jssnn +dir pcccp +dir plpzbm +$ cd bdw +$ ls +211300 dbnsfp.tjm +$ cd .. +$ cd dpl +$ ls +287744 rsbjqwm +$ cd .. +$ cd jssnn +$ ls +dir jssnn +$ cd jssnn +$ ls +9644 hmjhshg.vbv +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir jssnn +85888 pcccp.hdj +dir qpbqqj +dir rmscmwtv +$ cd jssnn +$ ls +129698 crlq.lrj +7499 dhcrzvbr.wmn +283607 qpbqqj.djr +234874 wqnrhll +$ cd .. +$ cd qpbqqj +$ ls +184229 qqpb.ftd +$ cd .. +$ cd rmscmwtv +$ ls +188048 dhcrzvbr.wmn +dir jwtpgbnt +$ cd jwtpgbnt +$ ls +209946 hgg +$ cd .. +$ cd .. +$ cd .. +$ cd plpzbm +$ ls +32627 tlb.qmc +$ cd .. +$ cd .. +$ cd .. +$ cd zcsm +$ ls +dir lczflft +dir zjbvwsnv +dir zmh +$ cd lczflft +$ ls +40043 dzgnvlw.scr +dir lrnb +$ cd lrnb +$ ls +109881 bjpbs +dir jssnn +46901 npmw +$ cd jssnn +$ ls +9216 sgrp +$ cd .. +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +214676 jssnn.hgn +$ cd .. +$ cd zmh +$ ls +dir jdt +dir rggpltr +$ cd jdt +$ ls +147387 jhhsv +90052 jssnn.wns +53105 qpbqqj.dzq +$ cd .. +$ cd rggpltr +$ ls +121454 dbnsfp.dzt +dir gcc +$ cd gcc +$ ls +dir zbqwl +dir zjbvwsnv +$ cd zbqwl +$ ls +260297 pcccp.jrw +$ cd .. +$ cd zjbvwsnv +$ ls +248709 pcccp.tph +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd snr +$ ls +152569 chq.jvb +1437 crlq.lrj +$ cd .. +$ cd zjbvwsnv +$ ls +dir cqhb +53235 ghhtl.bhv +199640 npcfdw +136346 qpbqqj.lmv +dir zjbvwsnv +$ cd cqhb +$ ls +24712 sqqf +$ cd .. +$ cd zjbvwsnv +$ ls +dir gzqg +dir hfbfvn +dir srsphr +dir vgvdcvc +$ cd gzqg +$ ls +dir jjw +$ cd jjw +$ ls +240052 zdcjjz.pmg +$ cd .. +$ cd .. +$ cd hfbfvn +$ ls +278190 bfgndw.pvf +$ cd .. +$ cd srsphr +$ ls +42591 zjbvwsnv.hgh +$ cd .. +$ cd vgvdcvc +$ ls +120322 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd lbrmb +$ ls +dir bjhpdj +42241 crlq.lrj +dir dbnsfp +244610 dhcrzvbr.wmn +dir hppb +dir mcnzs +dir npntsr +13625 tpjpcsgp.dlz +219424 vvpbt.zvf +dir zjbvwsnv +191467 zjbvwsnv.htn +$ cd bjhpdj +$ ls +dir bqjvst +204722 dbnsfp +dir dhltrqqq +226082 dmdqcjp +dir fcqwgzp +dir jssnn +6453 jssnn.ndh +23799 jssnn.zqn +dir nwglfhpl +dir pcccp +dir pdnj +269246 shzqns.nws +dir sjstqlcb +dir zssln +$ cd bqjvst +$ ls +202793 dbnsfp.pjj +259783 jssnn +dir rbvbhnvs +30683 rvddnjmb.tlz +dir tzhslnv +$ cd rbvbhnvs +$ ls +86934 vrtrf.htt +$ cd .. +$ cd tzhslnv +$ ls +76278 mghcwdlr.tsc +$ cd .. +$ cd .. +$ cd dhltrqqq +$ ls +dir mfd +dir pcccp +dir smmb +251164 wsdnsgtt.lhr +191876 zvr.bbz +$ cd mfd +$ ls +51017 crlq.lrj +99213 rjtbnnnq.hgd +$ cd .. +$ cd pcccp +$ ls +160487 dhcrzvbr.wmn +dir nhdrnthj +dir qpbqqj +$ cd nhdrnthj +$ ls +181291 bbn.wtm +186551 fnw.tnn +23622 rrcsndz.tzp +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +227547 dhcrzvbr.wmn +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +212353 crlq.lrj +170195 dhcrzvbr.wmn +dir ttvp +$ cd ttvp +$ ls +185994 tgjcfgjv +$ cd .. +$ cd .. +$ cd .. +$ cd smmb +$ ls +dir dbnsfp +85354 dbnsfp.zpn +80665 dfmmjbm.rnr +135989 dhcrzvbr.wmn +93718 lrbzr.nfs +dir mjpfnfns +dir nsdpfnhb +dir pmnssvd +32270 qpbqqj.vtd +$ cd dbnsfp +$ ls +31796 gzs.rgv +64506 vbjncw.bpz +181659 vjlfrdp.tqh +$ cd .. +$ cd mjpfnfns +$ ls +231611 chq.jvb +17518 cmnlrzq.hvh +144795 dbnsfp +162194 jssnn.wjz +29305 vdqnlw.fzf +$ cd .. +$ cd nsdpfnhb +$ ls +281844 chq.jvb +$ cd .. +$ cd pmnssvd +$ ls +165816 dfvl.czb +144561 gbn +150785 lnzdwrmb +111214 rrcsndz.tzp +164156 tzgdb.hht +$ cd .. +$ cd .. +$ cd .. +$ cd fcqwgzp +$ ls +199161 dhcrzvbr.wmn +34251 rrcsndz.tzp +198345 vjlfrdp.tqh +167001 zjbvwsnv.bsd +$ cd .. +$ cd jssnn +$ ls +dir ccblfvl +103180 dhcrzvbr.wmn +dir prw +dir tzqfn +dir zjbvwsnv +166467 zjbvwsnv.tdt +$ cd ccblfvl +$ ls +159752 crlq.lrj +20805 jssnn.dvb +243040 lct.zll +27492 qbh +27174 vjlfrdp.tqh +dir zvfwq +$ cd zvfwq +$ ls +135126 chq.jvb +41664 gphw.vzd +dir hmrdghbr +dir jssnn +dir qzzb +dir tmdlcv +$ cd hmrdghbr +$ ls +dir jvgpwrbs +$ cd jvgpwrbs +$ ls +dir wzdv +$ cd wzdv +$ ls +26834 qpbqqj.njf +$ cd .. +$ cd .. +$ cd .. +$ cd jssnn +$ ls +90199 jqqmqddf.qnz +$ cd .. +$ cd qzzb +$ ls +dir mgpql +dir src +dir zvdgc +$ cd mgpql +$ ls +141852 qpbqqj +$ cd .. +$ cd src +$ ls +204425 lqmcbndm.jrj +75571 qsbrsv.jcm +$ cd .. +$ cd zvdgc +$ ls +268742 ffjmrmmz.lhg +18385 rvmp.hjv +$ cd .. +$ cd .. +$ cd tmdlcv +$ ls +182587 sfwvjrj.mzl +$ cd .. +$ cd .. +$ cd .. +$ cd prw +$ ls +207429 dbnsfp.rqf +dir ptgn +dir pzgpqp +252902 rbt +169694 trg.rsh +$ cd ptgn +$ ls +dir jssnn +dir qpbqqj +dir rpd +$ cd jssnn +$ ls +189316 dbnsfp.bqc +$ cd .. +$ cd qpbqqj +$ ls +167937 zjbvwsnv.bhz +$ cd .. +$ cd rpd +$ ls +8775 crlq.lrj +$ cd .. +$ cd .. +$ cd pzgpqp +$ ls +dir pcccp +$ cd pcccp +$ ls +51496 pcccp +$ cd .. +$ cd .. +$ cd .. +$ cd tzqfn +$ ls +dir cbpfvdp +285700 crlq.lrj +7426 dbnsfp.fsd +dir gdl +141367 jssnn.hmw +184482 sczphnp.vnc +126288 vjlfrdp.tqh +dir wndpdj +$ cd cbpfvdp +$ ls +dir cvfr +dir qpbqqj +$ cd cvfr +$ ls +dir jfrnvts +dir qpbqqj +$ cd jfrnvts +$ ls +dir vwdn +$ cd vwdn +$ ls +236936 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +254275 bqd +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +dir jssnn +201960 qpbqqj +$ cd jssnn +$ ls +131127 jssnn +$ cd .. +$ cd .. +$ cd .. +$ cd gdl +$ ls +225146 hsgzmtp.wcs +204436 jssnn.lhh +64007 mjzjgfg.jsb +$ cd .. +$ cd wndpdj +$ ls +245412 bvcq +211386 dbnsfp.tqd +186962 fql.mww +dir hlmhtfz +117446 smvjvcn.lcp +$ cd hlmhtfz +$ ls +150152 lrdhbq.rvm +$ cd .. +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +179703 fvmbz +87552 qtz.ccw +129764 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd nwglfhpl +$ ls +66039 crlq.lrj +dir cwq +dir dlgrsw +267814 frhlttn.nmd +dir hmprt +dir qpbqqj +dir wnfzznfh +$ cd cwq +$ ls +77655 cpjnwzh +dir pcccp +dir zjbvwsnv +dir zzhjfmnr +$ cd pcccp +$ ls +dir pcccp +$ cd pcccp +$ ls +245309 bggzbrg.flf +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +196915 gnmfb.dzq +dir ngqbdqp +$ cd ngqbdqp +$ ls +355 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd zzhjfmnr +$ ls +dir dbnsfp +$ cd dbnsfp +$ ls +223184 chq.jvb +$ cd .. +$ cd .. +$ cd .. +$ cd dlgrsw +$ ls +181906 chq.jvb +5636 dbnsfp +219889 jbr.slc +dir zrntbl +$ cd zrntbl +$ ls +61864 brnpgpwt +138980 qpbqqj +$ cd .. +$ cd .. +$ cd hmprt +$ ls +90249 dbnsfp.mbd +$ cd .. +$ cd qpbqqj +$ ls +290377 crlq.lrj +$ cd .. +$ cd wnfzznfh +$ ls +83022 hclmps +64095 zhm +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir rdzntr +dir rvccq +$ cd rdzntr +$ ls +239028 rrcsndz.tzp +$ cd .. +$ cd rvccq +$ ls +22746 chq.jvb +288752 jjvppq.swt +dir msgwsnjq +dir pggz +228469 vjlfrdp.tqh +$ cd msgwsnjq +$ ls +102522 lwgqc.mhv +25239 ndm.llf +$ cd .. +$ cd pggz +$ ls +dir cnjqsqj +$ cd cnjqsqj +$ ls +229407 shpnq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd pdnj +$ ls +193069 rwnhgttz.pvp +$ cd .. +$ cd sjstqlcb +$ ls +263295 chq.jvb +224091 jss.wtr +$ cd .. +$ cd zssln +$ ls +5859 ncdlcr.dll +$ cd .. +$ cd .. +$ cd dbnsfp +$ ls +271252 dhcrzvbr.wmn +$ cd .. +$ cd hppb +$ ls +259968 jssnn +81292 qpqqb.clj +$ cd .. +$ cd mcnzs +$ ls +170903 crlq.lrj +59482 dhcrzvbr.wmn +dir dqzwzbgm +dir gnrztn +286736 jssnn.jcm +32791 phqsgl +dir pzjnrwt +197323 vjlfrdp.tqh +dir wvnwbpct +$ cd dqzwzbgm +$ ls +78575 qpbqqj +251546 qpbqqj.slb +$ cd .. +$ cd gnrztn +$ ls +158603 hdnwmd.rhj +dir nbfdtwzr +178239 ptnchzpg +40517 rrcsndz.tzp +dir smvb +198007 vjlfrdp.tqh +$ cd nbfdtwzr +$ ls +200354 crlq.lrj +$ cd .. +$ cd smvb +$ ls +163921 zjbvwsnv.brz +$ cd .. +$ cd .. +$ cd pzjnrwt +$ ls +33891 lwrll +259646 pcccp.sfn +106835 pqfzthjq +189673 rrcsndz.tzp +$ cd .. +$ cd wvnwbpct +$ ls +234188 dhcrzvbr.wmn +dir gmtpsgv +86379 jssnn +146663 sfpmdbbd.jvt +25795 vjlfrdp.tqh +$ cd gmtpsgv +$ ls +18642 chq.jvb +3046 cznlwtw +26335 ddgpngrc +116455 vnnls.hsg +$ cd .. +$ cd .. +$ cd .. +$ cd npntsr +$ ls +dir cccjdcvb +206657 chq.jvb +280518 crlq.lrj +dir dbnsfp +dir jphnn +dir jssnn +dir mpl +195193 rrcsndz.tzp +dir rztc +dir znwp +$ cd cccjdcvb +$ ls +192965 mcr.sfq +$ cd .. +$ cd dbnsfp +$ ls +dir gfns +173317 jssnn.tjq +dir mgr +68817 mvwcwfcr.zmz +dir pqfht +108571 swfl.dtj +10398 tvvvv +dir vzg +174361 zjbvwsnv +$ cd gfns +$ ls +203999 zjbvwsnv.hfg +$ cd .. +$ cd mgr +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +26871 tqlgcf.jrn +$ cd .. +$ cd .. +$ cd pqfht +$ ls +199590 clpvscl.rlm +dir dwlhv +dir vhzfzhrb +$ cd dwlhv +$ ls +130761 qpbqqj +242752 rrcsndz.tzp +$ cd .. +$ cd vhzfzhrb +$ ls +dir njdgcbvm +$ cd njdgcbvm +$ ls +dir snjfqg +$ cd snjfqg +$ ls +dir qpwh +$ cd qpwh +$ ls +153353 qsjpj +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd vzg +$ ls +dir pcccp +$ cd pcccp +$ ls +dir jfbtl +$ cd jfbtl +$ ls +209199 dbnsfp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd jphnn +$ ls +52305 crlq.lrj +193480 gmms.whz +59354 nmq.dww +64638 qpbqqj +47072 rrcsndz.tzp +$ cd .. +$ cd jssnn +$ ls +69168 crlq.lrj +1549 dhcrzvbr.wmn +219596 hdmczg.lmm +108063 jssnn +24327 vjlfrdp.tqh +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +189952 chq.jvb +$ cd .. +$ cd .. +$ cd mpl +$ ls +144856 bqrrzm +249487 crlq.lrj +dir ffqgpgfg +93632 flqwtn.nsz +dir mwpcqr +195910 pdqwn.lcg +$ cd ffqgpgfg +$ ls +66459 dbnsfp +200500 lcmt.zmz +207093 qpbqqj +77042 vjlfrdp.tqh +57109 wwzv.hbn +$ cd .. +$ cd mwpcqr +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +166393 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd .. +$ cd rztc +$ ls +57788 chq.jvb +$ cd .. +$ cd znwp +$ ls +164627 chq.jvb +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +dir dgrrl +71529 jssnn +198617 pcccp.qqh +dir phggn +56842 zjbvwsnv.vqd +$ cd dgrrl +$ ls +dir czm +dir fhhlbdlz +dir gstjw +dir qpbqqj +dir stgb +$ cd czm +$ ls +dir jssnn +$ cd jssnn +$ ls +162335 chq.jvb +30099 mfdgdw +96389 pcdsd.wmw +251423 tmz.lcb +205979 vpltdt.gtv +$ cd .. +$ cd .. +$ cd fhhlbdlz +$ ls +dir qpbqqj +dir vdjs +dir zgz +$ cd qpbqqj +$ ls +285561 chq.jvb +263924 lbqcfdrs +138854 pcccp.dtn +$ cd .. +$ cd vdjs +$ ls +32688 chq.jvb +223233 tbn.blt +$ cd .. +$ cd zgz +$ ls +92804 bqltmv.wzb +$ cd .. +$ cd .. +$ cd gstjw +$ ls +151784 fvfszzzn.cbh +$ cd .. +$ cd qpbqqj +$ ls +dir blztqf +dir plgnh +$ cd blztqf +$ ls +195097 wlvmtz +$ cd .. +$ cd plgnh +$ ls +dir dbnsfp +246221 dhcrzvbr.wmn +271121 jhwmmzls.mhw +170162 pcccp.dpp +37872 qpbqqj +$ cd dbnsfp +$ ls +dir dhpnr +$ cd dhpnr +$ ls +152837 pcccp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd stgb +$ ls +248436 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd phggn +$ ls +284602 dhcrzvbr.wmn +dir lctr +dir rjmc +66651 rrcsndz.tzp +117525 vth.fgw +156877 wcqnjzbq.dgf +7803 zpsrzclh.bzw +$ cd lctr +$ ls +212339 jssnn.whp +dir jzhcqb +99974 pcccp.zhs +111354 pmc +104899 vjlfrdp.tqh +93496 zhwmbw +$ cd jzhcqb +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +146807 rbrg +$ cd .. +$ cd .. +$ cd .. +$ cd rjmc +$ ls +dir fvbmsc +139747 glwmr.lrg +dir gvnnz +102023 tbj.qmz +dir vsztsjfh +$ cd fvbmsc +$ ls +136838 vpvbz.qtw +$ cd .. +$ cd gvnnz +$ ls +95498 zjbvwsnv +$ cd .. +$ cd vsztsjfh +$ ls +215479 ffwlcrwb \ No newline at end of file diff --git a/Advent of Code 2022 Day 7/src/Directory.java b/Advent of Code 2022 Day 7/src/Directory.java new file mode 100644 index 0000000..584dfbc --- /dev/null +++ b/Advent of Code 2022 Day 7/src/Directory.java @@ -0,0 +1,88 @@ +import java.util.ArrayList; + +public class Directory { + + private ArrayList files; + private ArrayList directories; + private Directory outerDirectory; + private String name; + + public Directory(String name, Directory outerDirectory) { + files = new ArrayList(); + directories = new ArrayList(); + this.outerDirectory = outerDirectory; + this.name = name; + } + + public Directory outerDirectory() { + return outerDirectory; + } + + public void addElement(Object element) { + if (element instanceof File) { + files.add((File) element); + } + else if (element instanceof Directory) { + directories.add((Directory) element); + } + } + + public int size() { + int sum = 0; + + for (File file : files) { + sum += file.size(); + } + + for (Directory directive : directories) { + sum += directive.size(); + } + + return sum; + } + + public String name() { + return name; + } + + public Directory getInnerDirectory(String name) { + for (Directory directory : directories) { + if (directory.name().equals(name)) + return directory; + } + return null; + } + + public ArrayList getAllInnerDirectories() { + return directories; + } + + public ArrayList getAllFolders() { + ArrayList folderList = new ArrayList(); + + folderList.addAll(directories); + + for (Directory e : directories) + folderList.addAll(e.getAllFolders()); + + return folderList; + } + + public int countSum(int maximum) { + int sum = 0; + + for (Directory directive : this.getAllFolders()) { + if (directive.size() <= maximum) + sum += directive.countSum(maximum); + } + + return sum; + } + + public void print() { + for (Directory directive : directories) { + System.out.println(directive.size()); + } + } + +} diff --git a/Advent of Code 2022 Day 7/src/File.java b/Advent of Code 2022 Day 7/src/File.java new file mode 100644 index 0000000..d95fbce --- /dev/null +++ b/Advent of Code 2022 Day 7/src/File.java @@ -0,0 +1,19 @@ + +public class File { + + private int size; + private String name; + + public File(int size, String name) { + this.size = size; + this.name = name; + } + + public String name() { + return name; + } + + public int size() { + return size; + } +} diff --git a/Advent of Code 2022 Day 7/src/input.txt b/Advent of Code 2022 Day 7/src/input.txt new file mode 100644 index 0000000..97279b9 --- /dev/null +++ b/Advent of Code 2022 Day 7/src/input.txt @@ -0,0 +1,1013 @@ +$ cd / +$ ls +dir jmtrrrp +dir jssnn +dir lbrmb +11968 pcccp +$ cd jmtrrrp +$ ls +77968 chq.jvb +dir fmgsql +$ cd fmgsql +$ ls +dir dbnsfp +dir vvp +$ cd dbnsfp +$ ls +51021 crlq.lrj +186829 dhcrzvbr.wmn +16232 fvhn.fqm +54150 qpbqqj.rpg +$ cd .. +$ cd vvp +$ ls +179105 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd .. +$ cd jssnn +$ ls +dir bphfqs +dir dbnsfp +dir pcccp +dir snr +dir zjbvwsnv +$ cd bphfqs +$ ls +110077 dhcrzvbr.wmn +$ cd .. +$ cd dbnsfp +$ ls +dir hgvh +dir jtqdcmsz +154197 rrcsndz.tzp +$ cd hgvh +$ ls +dir qjnbg +$ cd qjnbg +$ ls +dir bqzfpr +$ cd bqzfpr +$ ls +124394 wjsbsp +$ cd .. +$ cd .. +$ cd .. +$ cd jtqdcmsz +$ ls +275597 dbnsfp.fpg +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir cnbd +85621 cqzvwl +dir dbnsfp +114355 hbhp.cfv +dir mcgq +dir pcccp +dir qpbqqj +224038 rrcsndz.tzp +dir zcsm +27570 zjbvwsnv.fjt +$ cd cnbd +$ ls +dir jrbz +dir pphv +$ cd jrbz +$ ls +dir dwvlwfq +$ cd dwvlwfq +$ ls +32237 fwclr.rnb +$ cd .. +$ cd .. +$ cd pphv +$ ls +180370 dhcrzvbr.wmn +50154 dzvwdwl.gbt +123965 mlsv.hlw +163116 wnhtwr.mwl +$ cd .. +$ cd .. +$ cd dbnsfp +$ ls +252181 btv.mpv +dir hwncj +dir pcccp +$ cd hwncj +$ ls +51410 jbd.fcm +$ cd .. +$ cd pcccp +$ ls +258123 chq.jvb +$ cd .. +$ cd .. +$ cd mcgq +$ ls +206506 qpbqqj.bbb +$ cd .. +$ cd pcccp +$ ls +193219 ddhtnql.hmb +134114 hjbpzqzb.rwn +108927 lznndn.nqd +73241 ncdrv +$ cd .. +$ cd qpbqqj +$ ls +dir crdt +dir tgchdnc +$ cd crdt +$ ls +205710 chq.jvb +$ cd .. +$ cd tgchdnc +$ ls +dir bdw +dir dpl +dir jssnn +dir pcccp +dir plpzbm +$ cd bdw +$ ls +211300 dbnsfp.tjm +$ cd .. +$ cd dpl +$ ls +287744 rsbjqwm +$ cd .. +$ cd jssnn +$ ls +dir jssnn +$ cd jssnn +$ ls +9644 hmjhshg.vbv +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir jssnn +85888 pcccp.hdj +dir qpbqqj +dir rmscmwtv +$ cd jssnn +$ ls +129698 crlq.lrj +7499 dhcrzvbr.wmn +283607 qpbqqj.djr +234874 wqnrhll +$ cd .. +$ cd qpbqqj +$ ls +184229 qqpb.ftd +$ cd .. +$ cd rmscmwtv +$ ls +188048 dhcrzvbr.wmn +dir jwtpgbnt +$ cd jwtpgbnt +$ ls +209946 hgg +$ cd .. +$ cd .. +$ cd .. +$ cd plpzbm +$ ls +32627 tlb.qmc +$ cd .. +$ cd .. +$ cd .. +$ cd zcsm +$ ls +dir lczflft +dir zjbvwsnv +dir zmh +$ cd lczflft +$ ls +40043 dzgnvlw.scr +dir lrnb +$ cd lrnb +$ ls +109881 bjpbs +dir jssnn +46901 npmw +$ cd jssnn +$ ls +9216 sgrp +$ cd .. +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +214676 jssnn.hgn +$ cd .. +$ cd zmh +$ ls +dir jdt +dir rggpltr +$ cd jdt +$ ls +147387 jhhsv +90052 jssnn.wns +53105 qpbqqj.dzq +$ cd .. +$ cd rggpltr +$ ls +121454 dbnsfp.dzt +dir gcc +$ cd gcc +$ ls +dir zbqwl +dir zjbvwsnv +$ cd zbqwl +$ ls +260297 pcccp.jrw +$ cd .. +$ cd zjbvwsnv +$ ls +248709 pcccp.tph +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd snr +$ ls +152569 chq.jvb +1437 crlq.lrj +$ cd .. +$ cd zjbvwsnv +$ ls +dir cqhb +53235 ghhtl.bhv +199640 npcfdw +136346 qpbqqj.lmv +dir zjbvwsnv +$ cd cqhb +$ ls +24712 sqqf +$ cd .. +$ cd zjbvwsnv +$ ls +dir gzqg +dir hfbfvn +dir srsphr +dir vgvdcvc +$ cd gzqg +$ ls +dir jjw +$ cd jjw +$ ls +240052 zdcjjz.pmg +$ cd .. +$ cd .. +$ cd hfbfvn +$ ls +278190 bfgndw.pvf +$ cd .. +$ cd srsphr +$ ls +42591 zjbvwsnv.hgh +$ cd .. +$ cd vgvdcvc +$ ls +120322 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd lbrmb +$ ls +dir bjhpdj +42241 crlq.lrj +dir dbnsfp +244610 dhcrzvbr.wmn +dir hppb +dir mcnzs +dir npntsr +13625 tpjpcsgp.dlz +219424 vvpbt.zvf +dir zjbvwsnv +191467 zjbvwsnv.htn +$ cd bjhpdj +$ ls +dir bqjvst +204722 dbnsfp +dir dhltrqqq +226082 dmdqcjp +dir fcqwgzp +dir jssnn +6453 jssnn.ndh +23799 jssnn.zqn +dir nwglfhpl +dir pcccp +dir pdnj +269246 shzqns.nws +dir sjstqlcb +dir zssln +$ cd bqjvst +$ ls +202793 dbnsfp.pjj +259783 jssnn +dir rbvbhnvs +30683 rvddnjmb.tlz +dir tzhslnv +$ cd rbvbhnvs +$ ls +86934 vrtrf.htt +$ cd .. +$ cd tzhslnv +$ ls +76278 mghcwdlr.tsc +$ cd .. +$ cd .. +$ cd dhltrqqq +$ ls +dir mfd +dir pcccp +dir smmb +251164 wsdnsgtt.lhr +191876 zvr.bbz +$ cd mfd +$ ls +51017 crlq.lrj +99213 rjtbnnnq.hgd +$ cd .. +$ cd pcccp +$ ls +160487 dhcrzvbr.wmn +dir nhdrnthj +dir qpbqqj +$ cd nhdrnthj +$ ls +181291 bbn.wtm +186551 fnw.tnn +23622 rrcsndz.tzp +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +227547 dhcrzvbr.wmn +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +212353 crlq.lrj +170195 dhcrzvbr.wmn +dir ttvp +$ cd ttvp +$ ls +185994 tgjcfgjv +$ cd .. +$ cd .. +$ cd .. +$ cd smmb +$ ls +dir dbnsfp +85354 dbnsfp.zpn +80665 dfmmjbm.rnr +135989 dhcrzvbr.wmn +93718 lrbzr.nfs +dir mjpfnfns +dir nsdpfnhb +dir pmnssvd +32270 qpbqqj.vtd +$ cd dbnsfp +$ ls +31796 gzs.rgv +64506 vbjncw.bpz +181659 vjlfrdp.tqh +$ cd .. +$ cd mjpfnfns +$ ls +231611 chq.jvb +17518 cmnlrzq.hvh +144795 dbnsfp +162194 jssnn.wjz +29305 vdqnlw.fzf +$ cd .. +$ cd nsdpfnhb +$ ls +281844 chq.jvb +$ cd .. +$ cd pmnssvd +$ ls +165816 dfvl.czb +144561 gbn +150785 lnzdwrmb +111214 rrcsndz.tzp +164156 tzgdb.hht +$ cd .. +$ cd .. +$ cd .. +$ cd fcqwgzp +$ ls +199161 dhcrzvbr.wmn +34251 rrcsndz.tzp +198345 vjlfrdp.tqh +167001 zjbvwsnv.bsd +$ cd .. +$ cd jssnn +$ ls +dir ccblfvl +103180 dhcrzvbr.wmn +dir prw +dir tzqfn +dir zjbvwsnv +166467 zjbvwsnv.tdt +$ cd ccblfvl +$ ls +159752 crlq.lrj +20805 jssnn.dvb +243040 lct.zll +27492 qbh +27174 vjlfrdp.tqh +dir zvfwq +$ cd zvfwq +$ ls +135126 chq.jvb +41664 gphw.vzd +dir hmrdghbr +dir jssnn +dir qzzb +dir tmdlcv +$ cd hmrdghbr +$ ls +dir jvgpwrbs +$ cd jvgpwrbs +$ ls +dir wzdv +$ cd wzdv +$ ls +26834 qpbqqj.njf +$ cd .. +$ cd .. +$ cd .. +$ cd jssnn +$ ls +90199 jqqmqddf.qnz +$ cd .. +$ cd qzzb +$ ls +dir mgpql +dir src +dir zvdgc +$ cd mgpql +$ ls +141852 qpbqqj +$ cd .. +$ cd src +$ ls +204425 lqmcbndm.jrj +75571 qsbrsv.jcm +$ cd .. +$ cd zvdgc +$ ls +268742 ffjmrmmz.lhg +18385 rvmp.hjv +$ cd .. +$ cd .. +$ cd tmdlcv +$ ls +182587 sfwvjrj.mzl +$ cd .. +$ cd .. +$ cd .. +$ cd prw +$ ls +207429 dbnsfp.rqf +dir ptgn +dir pzgpqp +252902 rbt +169694 trg.rsh +$ cd ptgn +$ ls +dir jssnn +dir qpbqqj +dir rpd +$ cd jssnn +$ ls +189316 dbnsfp.bqc +$ cd .. +$ cd qpbqqj +$ ls +167937 zjbvwsnv.bhz +$ cd .. +$ cd rpd +$ ls +8775 crlq.lrj +$ cd .. +$ cd .. +$ cd pzgpqp +$ ls +dir pcccp +$ cd pcccp +$ ls +51496 pcccp +$ cd .. +$ cd .. +$ cd .. +$ cd tzqfn +$ ls +dir cbpfvdp +285700 crlq.lrj +7426 dbnsfp.fsd +dir gdl +141367 jssnn.hmw +184482 sczphnp.vnc +126288 vjlfrdp.tqh +dir wndpdj +$ cd cbpfvdp +$ ls +dir cvfr +dir qpbqqj +$ cd cvfr +$ ls +dir jfrnvts +dir qpbqqj +$ cd jfrnvts +$ ls +dir vwdn +$ cd vwdn +$ ls +236936 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +254275 bqd +$ cd .. +$ cd .. +$ cd qpbqqj +$ ls +dir jssnn +201960 qpbqqj +$ cd jssnn +$ ls +131127 jssnn +$ cd .. +$ cd .. +$ cd .. +$ cd gdl +$ ls +225146 hsgzmtp.wcs +204436 jssnn.lhh +64007 mjzjgfg.jsb +$ cd .. +$ cd wndpdj +$ ls +245412 bvcq +211386 dbnsfp.tqd +186962 fql.mww +dir hlmhtfz +117446 smvjvcn.lcp +$ cd hlmhtfz +$ ls +150152 lrdhbq.rvm +$ cd .. +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +179703 fvmbz +87552 qtz.ccw +129764 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd nwglfhpl +$ ls +66039 crlq.lrj +dir cwq +dir dlgrsw +267814 frhlttn.nmd +dir hmprt +dir qpbqqj +dir wnfzznfh +$ cd cwq +$ ls +77655 cpjnwzh +dir pcccp +dir zjbvwsnv +dir zzhjfmnr +$ cd pcccp +$ ls +dir pcccp +$ cd pcccp +$ ls +245309 bggzbrg.flf +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +196915 gnmfb.dzq +dir ngqbdqp +$ cd ngqbdqp +$ ls +355 rrcsndz.tzp +$ cd .. +$ cd .. +$ cd zzhjfmnr +$ ls +dir dbnsfp +$ cd dbnsfp +$ ls +223184 chq.jvb +$ cd .. +$ cd .. +$ cd .. +$ cd dlgrsw +$ ls +181906 chq.jvb +5636 dbnsfp +219889 jbr.slc +dir zrntbl +$ cd zrntbl +$ ls +61864 brnpgpwt +138980 qpbqqj +$ cd .. +$ cd .. +$ cd hmprt +$ ls +90249 dbnsfp.mbd +$ cd .. +$ cd qpbqqj +$ ls +290377 crlq.lrj +$ cd .. +$ cd wnfzznfh +$ ls +83022 hclmps +64095 zhm +$ cd .. +$ cd .. +$ cd pcccp +$ ls +dir rdzntr +dir rvccq +$ cd rdzntr +$ ls +239028 rrcsndz.tzp +$ cd .. +$ cd rvccq +$ ls +22746 chq.jvb +288752 jjvppq.swt +dir msgwsnjq +dir pggz +228469 vjlfrdp.tqh +$ cd msgwsnjq +$ ls +102522 lwgqc.mhv +25239 ndm.llf +$ cd .. +$ cd pggz +$ ls +dir cnjqsqj +$ cd cnjqsqj +$ ls +229407 shpnq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd pdnj +$ ls +193069 rwnhgttz.pvp +$ cd .. +$ cd sjstqlcb +$ ls +263295 chq.jvb +224091 jss.wtr +$ cd .. +$ cd zssln +$ ls +5859 ncdlcr.dll +$ cd .. +$ cd .. +$ cd dbnsfp +$ ls +271252 dhcrzvbr.wmn +$ cd .. +$ cd hppb +$ ls +259968 jssnn +81292 qpqqb.clj +$ cd .. +$ cd mcnzs +$ ls +170903 crlq.lrj +59482 dhcrzvbr.wmn +dir dqzwzbgm +dir gnrztn +286736 jssnn.jcm +32791 phqsgl +dir pzjnrwt +197323 vjlfrdp.tqh +dir wvnwbpct +$ cd dqzwzbgm +$ ls +78575 qpbqqj +251546 qpbqqj.slb +$ cd .. +$ cd gnrztn +$ ls +158603 hdnwmd.rhj +dir nbfdtwzr +178239 ptnchzpg +40517 rrcsndz.tzp +dir smvb +198007 vjlfrdp.tqh +$ cd nbfdtwzr +$ ls +200354 crlq.lrj +$ cd .. +$ cd smvb +$ ls +163921 zjbvwsnv.brz +$ cd .. +$ cd .. +$ cd pzjnrwt +$ ls +33891 lwrll +259646 pcccp.sfn +106835 pqfzthjq +189673 rrcsndz.tzp +$ cd .. +$ cd wvnwbpct +$ ls +234188 dhcrzvbr.wmn +dir gmtpsgv +86379 jssnn +146663 sfpmdbbd.jvt +25795 vjlfrdp.tqh +$ cd gmtpsgv +$ ls +18642 chq.jvb +3046 cznlwtw +26335 ddgpngrc +116455 vnnls.hsg +$ cd .. +$ cd .. +$ cd .. +$ cd npntsr +$ ls +dir cccjdcvb +206657 chq.jvb +280518 crlq.lrj +dir dbnsfp +dir jphnn +dir jssnn +dir mpl +195193 rrcsndz.tzp +dir rztc +dir znwp +$ cd cccjdcvb +$ ls +192965 mcr.sfq +$ cd .. +$ cd dbnsfp +$ ls +dir gfns +173317 jssnn.tjq +dir mgr +68817 mvwcwfcr.zmz +dir pqfht +108571 swfl.dtj +10398 tvvvv +dir vzg +174361 zjbvwsnv +$ cd gfns +$ ls +203999 zjbvwsnv.hfg +$ cd .. +$ cd mgr +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +26871 tqlgcf.jrn +$ cd .. +$ cd .. +$ cd pqfht +$ ls +199590 clpvscl.rlm +dir dwlhv +dir vhzfzhrb +$ cd dwlhv +$ ls +130761 qpbqqj +242752 rrcsndz.tzp +$ cd .. +$ cd vhzfzhrb +$ ls +dir njdgcbvm +$ cd njdgcbvm +$ ls +dir snjfqg +$ cd snjfqg +$ ls +dir qpwh +$ cd qpwh +$ ls +153353 qsjpj +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd vzg +$ ls +dir pcccp +$ cd pcccp +$ ls +dir jfbtl +$ cd jfbtl +$ ls +209199 dbnsfp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd jphnn +$ ls +52305 crlq.lrj +193480 gmms.whz +59354 nmq.dww +64638 qpbqqj +47072 rrcsndz.tzp +$ cd .. +$ cd jssnn +$ ls +69168 crlq.lrj +1549 dhcrzvbr.wmn +219596 hdmczg.lmm +108063 jssnn +24327 vjlfrdp.tqh +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +189952 chq.jvb +$ cd .. +$ cd .. +$ cd mpl +$ ls +144856 bqrrzm +249487 crlq.lrj +dir ffqgpgfg +93632 flqwtn.nsz +dir mwpcqr +195910 pdqwn.lcg +$ cd ffqgpgfg +$ ls +66459 dbnsfp +200500 lcmt.zmz +207093 qpbqqj +77042 vjlfrdp.tqh +57109 wwzv.hbn +$ cd .. +$ cd mwpcqr +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +166393 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd .. +$ cd rztc +$ ls +57788 chq.jvb +$ cd .. +$ cd znwp +$ ls +164627 chq.jvb +$ cd .. +$ cd .. +$ cd zjbvwsnv +$ ls +dir dgrrl +71529 jssnn +198617 pcccp.qqh +dir phggn +56842 zjbvwsnv.vqd +$ cd dgrrl +$ ls +dir czm +dir fhhlbdlz +dir gstjw +dir qpbqqj +dir stgb +$ cd czm +$ ls +dir jssnn +$ cd jssnn +$ ls +162335 chq.jvb +30099 mfdgdw +96389 pcdsd.wmw +251423 tmz.lcb +205979 vpltdt.gtv +$ cd .. +$ cd .. +$ cd fhhlbdlz +$ ls +dir qpbqqj +dir vdjs +dir zgz +$ cd qpbqqj +$ ls +285561 chq.jvb +263924 lbqcfdrs +138854 pcccp.dtn +$ cd .. +$ cd vdjs +$ ls +32688 chq.jvb +223233 tbn.blt +$ cd .. +$ cd zgz +$ ls +92804 bqltmv.wzb +$ cd .. +$ cd .. +$ cd gstjw +$ ls +151784 fvfszzzn.cbh +$ cd .. +$ cd qpbqqj +$ ls +dir blztqf +dir plgnh +$ cd blztqf +$ ls +195097 wlvmtz +$ cd .. +$ cd plgnh +$ ls +dir dbnsfp +246221 dhcrzvbr.wmn +271121 jhwmmzls.mhw +170162 pcccp.dpp +37872 qpbqqj +$ cd dbnsfp +$ ls +dir dhpnr +$ cd dhpnr +$ ls +152837 pcccp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd stgb +$ ls +248436 vjlfrdp.tqh +$ cd .. +$ cd .. +$ cd phggn +$ ls +284602 dhcrzvbr.wmn +dir lctr +dir rjmc +66651 rrcsndz.tzp +117525 vth.fgw +156877 wcqnjzbq.dgf +7803 zpsrzclh.bzw +$ cd lctr +$ ls +212339 jssnn.whp +dir jzhcqb +99974 pcccp.zhs +111354 pmc +104899 vjlfrdp.tqh +93496 zhwmbw +$ cd jzhcqb +$ ls +dir zjbvwsnv +$ cd zjbvwsnv +$ ls +146807 rbrg +$ cd .. +$ cd .. +$ cd .. +$ cd rjmc +$ ls +dir fvbmsc +139747 glwmr.lrg +dir gvnnz +102023 tbj.qmz +dir vsztsjfh +$ cd fvbmsc +$ ls +136838 vpvbz.qtw +$ cd .. +$ cd gvnnz +$ ls +95498 zjbvwsnv +$ cd .. +$ cd vsztsjfh +$ ls +215479 ffwlcrwb \ No newline at end of file diff --git a/Advent of Code 2022 Day 7/src/main.java b/Advent of Code 2022 Day 7/src/main.java new file mode 100644 index 0000000..9c1d99e --- /dev/null +++ b/Advent of Code 2022 Day 7/src/main.java @@ -0,0 +1,70 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +public class main { + + static Directory root; + static Directory currentDirectory; + + public static void main(String[] args) { + + root = new Directory("/", null); + currentDirectory = root; + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + //Part 1 + System.out.print("Part 1: "); + while ((str = file.readLine()) != null) { + if (str.charAt(0) == '$') { + command(str.substring(2)); + } + else { + if (str.substring(0,3).equals("dir")) { + currentDirectory.addElement(new Directory(str.substring(4),currentDirectory)); + } + else { + int size = Integer.valueOf(str.substring(0,str.indexOf(" "))); + String name = str.substring(str.indexOf(" ")+1); + currentDirectory.addElement(new File(size, name)); + } + } + } + file.close(); + + System.out.println(root.countSum(100000)); + //root.print(); + //Part 2 + System.out.print("Part 2: "); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private static void command(String command) { + String handler = command.substring(0,2); + if(handler.equals("ls")) + return; + + String content = command.substring(3); + + switch (handler) { + case "cd": cd(content); break; + case "ls": ls(content); break; + } + } + + private static void cd(String content) { + switch (content) { + case "..": currentDirectory = currentDirectory.outerDirectory(); break; + case "/": currentDirectory = root; break; + default: currentDirectory = currentDirectory.getInnerDirectory(content); + } + } + + private static void ls(String content) { + } + +} diff --git a/Advent of Code Template/.classpath b/Advent of Code Template/.classpath new file mode 100644 index 0000000..60b915a --- /dev/null +++ b/Advent of Code Template/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Advent of Code Template/.project b/Advent of Code Template/.project new file mode 100644 index 0000000..734f90b --- /dev/null +++ b/Advent of Code Template/.project @@ -0,0 +1,28 @@ + + + Advent of Code Template + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1671521328717 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs b/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e2e9c66 --- /dev/null +++ b/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/Advent of Code Template/input.txt b/Advent of Code Template/input.txt new file mode 100644 index 0000000..e69de29 diff --git a/Advent of Code Template/src/main.java b/Advent of Code Template/src/main.java new file mode 100644 index 0000000..e6607dd --- /dev/null +++ b/Advent of Code Template/src/main.java @@ -0,0 +1,28 @@ +import java.io.IOException; +import java.io.RandomAccessFile; + +import java.util.ArrayList; + +public class main { + + public static void main(String[] args) { + + try { + RandomAccessFile file = new RandomAccessFile("input.txt", "r"); + String str; + + //Part 1 + System.out.print("Part 1: "); + + while ((str = file.readLine()) != null) { + System.out.println(str); + } + //Part 2 + System.out.print("Part 2: "); + + } catch (IOException e) { + e.printStackTrace(); + } + } + +}