From 2dfe5d1bb5107bc846e831e9130a9ced3bc758a6 Mon Sep 17 00:00:00 2001 From: Eveldee Date: Mon, 5 Dec 2022 11:26:42 +0100 Subject: [PATCH] Add day 1 --- Days/Day.cs | 3 +- Days/Day1.cs | 2298 +++++++++++++++++++++++++++++++++++++++++++++++++- Days/Day2.cs | 7 +- Program.cs | 6 +- 4 files changed, 2308 insertions(+), 6 deletions(-) diff --git a/Days/Day.cs b/Days/Day.cs index f8e3635..f84954d 100644 --- a/Days/Day.cs +++ b/Days/Day.cs @@ -5,7 +5,8 @@ public abstract class Day public abstract int Number { get; } public abstract string Name { get; } - public abstract void Run(); + public abstract void RunPart1(); + public abstract void RunPart2(); public override string ToString() { diff --git a/Days/Day1.cs b/Days/Day1.cs index c434648..279b451 100644 --- a/Days/Day1.cs +++ b/Days/Day1.cs @@ -5,10 +5,2302 @@ namespace AdventOfCode.Days; public class Day1 : Day { public override int Number => 1; - public override string Name => "First day"; + public override string Name => "Calorie Counting"; - public override void Run() + public override void RunPart1() { - AnsiConsole.WriteLine("Day 1 result"); + int currentCalories = 0; + int maxCalories = 0; + foreach (var line in Input.Split('\n')) + { + // Next elf on empty line + if (string.IsNullOrWhiteSpace(line)) + { + if (currentCalories > maxCalories) + { + maxCalories = currentCalories; + } + + currentCalories = 0; + continue; + } + + currentCalories += int.Parse(line); + } + + AnsiConsole.MarkupLine($"[green]Max calories is: [yellow]{maxCalories}[/][/]"); } + + public override void RunPart2() + { + var elfCalories = new List(); + + int currentCalories = 0; + foreach (var line in Input.Split('\n')) + { + // Next elf on empty line + if (string.IsNullOrWhiteSpace(line)) + { + elfCalories.Add(currentCalories); + + currentCalories = 0; + continue; + } + + currentCalories += int.Parse(line); + } + + var totalCalories = elfCalories.OrderByDescending(c => c).Take(3).Sum(); + AnsiConsole.MarkupLine($"[green]Total calories by top 3 elf is: [yellow]{totalCalories}[/][/]"); + } + + #region Input + public const string Input = + """ + 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 + """; + #endregion } \ No newline at end of file diff --git a/Days/Day2.cs b/Days/Day2.cs index 812bbaa..c171d49 100644 --- a/Days/Day2.cs +++ b/Days/Day2.cs @@ -7,7 +7,12 @@ public class Day2 : Day public override int Number { get; } = 2; public override string Name { get; } = "Second day"; - public override void Run() + public override void RunPart1() + { + AnsiConsole.WriteLine("Day 2 result"); + } + + public override void RunPart2() { AnsiConsole.WriteLine("Day 2 result"); } diff --git a/Program.cs b/Program.cs index aa9ce43..6fdf052 100644 --- a/Program.cs +++ b/Program.cs @@ -15,4 +15,8 @@ var selectedDay = AnsiConsole.Prompt(select); AnsiConsole.MarkupLine($"[cyan]Running [yellow]{selectedDay}[/]...[/]\n"); -selectedDay.Run(); \ No newline at end of file +AnsiConsole.MarkupLine("[cyan]Part [yellow]1[/] result:[/]"); +selectedDay.RunPart1(); + +AnsiConsole.MarkupLine("\n[cyan]Part [yellow]2[/] result:[/]"); +selectedDay.RunPart2(); \ No newline at end of file