some-advent-of-code: diff 864046d7 4a6ea549

Branch: master

Commit: 864046d7a1d4cb913a0d6d0cc9156a091c3867be

Author: Nicholas Prado <nmprado@nzen.ws>
Date: Fri Dec 3 02:15:07 UTC 2021
Parent: 4a6ea5496fa17a14267679588cf517cd33bc21d8
Log message:

    feat 21 02.1 running total

    1: diff --git a/src/java/y2021/Exercise210201.java b/src/java/y2021/Exercise210201.java
    2: new file mode 100644
    3: index 0000000..c2f75ea
    4: --- /dev/null
    5: +++ b/src/java/y2021/Exercise210201.java
    6: @@ -0,0 +1,93 @@
    7: +
    8: +import java.io.IOException;
    9: +import java.nio.file.*;
   10: +import java.util.*;
   11: +
   12: +public class Exercise210201
   13: +{
   14: +
   15: +	public static void main(
   16: +			String args[]
   17: +	) {
   18: +		final String here = "e210201.m ";
   19: +		if ( args.length < 1 )
   20: +		{
   21: +			throw new RuntimeException( here +"add a filename argument" );
   22: +		}
   23: +		String userSaysFile = args[ 0 ];
   24: +		List<String> fileLines = new LinkedList<>();
   25: +		try
   26: +		{
   27: +			Path where = Paths.get( userSaysFile );
   28: +			fileLines = Files.readAllLines( where );
   29: +		}
   30: +		catch ( IOException | InvalidPathException ie )
   31: +		{
   32: +			System.err.println( here +"couldn't read file "+ userSaysFile +" because "+ ie );
   33: +			return;
   34: +		}
   35: +		/*
   36: +		- interpretation of spec -
   37: +		*/
   38: +		Exercise210201.findFinalDistance( fileLines );
   39: +	}
   40: +
   41: +
   42: +	private static void findFinalDistance(
   43: +			List<String> fileLines
   44: +	) {
   45: +		final int dirInd = 0, valInd = dirInd +1;
   46: +		int horizontalPosition = 0, depth = 0;
   47: +		for ( String line : fileLines )
   48: +		{
   49: +			if ( line.isEmpty() )
   50: +				continue;
   51: +			String[] linePieces = line.split( " " );
   52: +			int magnitude = Integer.parseInt( linePieces[ valInd ] );
   53: +			switch ( linePieces[ dirInd ] )
   54: +			{
   55: +			case "forward" :
   56: +				horizontalPosition += magnitude;
   57: +				break;
   58: +			case "down" :
   59: +				depth += magnitude;
   60: +				break;
   61: +			case "up" :
   62: +				depth -= magnitude;
   63: +				break;
   64: +			default :
   65: +				continue;
   66: +			}
   67: +		}
   68: +		System.out.println( depth * horizontalPosition );
   69: +	}
   70: +
   71: +
   72: +}
   73: +
   74: +
   75: +
   76: +
   77: +
   78: +
   79: +
   80: +
   81: +
   82: +
   83: +
   84: +
   85: +
   86: +
   87: +
   88: +
   89: +
   90: +
   91: +
   92: +
   93: +
   94: +
   95: +
   96: +
   97: +
   98: +
   99: +
  100: diff --git a/src/res/y2021/21_01_example.txt b/src/res/y2021/21_01_example.txt
  101: new file mode 100644
  102: index 0000000..b7172ac
  103: --- /dev/null
  104: +++ b/src/res/y2021/21_01_example.txt
  105: @@ -0,0 +1,6 @@
  106: +forward 5
  107: +down 5
  108: +forward 8
  109: +up 3
  110: +down 8
  111: +forward 2
  112: diff --git a/src/res/y2021/21_01_input.txt b/src/res/y2021/21_01_input.txt
  113: new file mode 100644
  114: index 0000000..64f1ce2
  115: --- /dev/null
  116: +++ b/src/res/y2021/21_01_input.txt
  117: @@ -0,0 +1,1000 @@
  118: +forward 1
  119: +down 9
  120: +down 4
  121: +forward 4
  122: +down 2
  123: +down 7
  124: +up 9
  125: +down 5
  126: +forward 9
  127: +forward 9
  128: +down 2
  129: +forward 7
  130: +forward 9
  131: +down 5
  132: +down 2
  133: +up 9
  134: +down 7
  135: +forward 6
  136: +down 6
  137: +down 6
  138: +up 1
  139: +down 2
  140: +forward 8
  141: +forward 8
  142: +forward 9
  143: +up 1
  144: +forward 4
  145: +up 1
  146: +forward 3
  147: +forward 5
  148: +up 3
  149: +up 7
  150: +down 4
  151: +down 1
  152: +forward 3
  153: +forward 4
  154: +up 3
  155: +forward 9
  156: +down 2
  157: +forward 5
  158: +up 2
  159: +up 1
  160: +up 5
  161: +forward 1
  162: +up 9
  163: +forward 6
  164: +up 4
  165: +down 4
  166: +forward 3
  167: +up 7
  168: +down 1
  169: +down 1
  170: +down 8
  171: +forward 3
  172: +forward 1
  173: +up 7
  174: +up 1
  175: +down 4
  176: +up 6
  177: +down 6
  178: +forward 8
  179: +down 3
  180: +down 9
  181: +down 6
  182: +up 8
  183: +forward 8
  184: +down 9
  185: +up 7
  186: +down 7
  187: +forward 8
  188: +down 8
  189: +up 6
  190: +down 7
  191: +down 4
  192: +up 7
  193: +forward 7
  194: +forward 7
  195: +forward 2
  196: +forward 5
  197: +down 5
  198: +down 9
  199: +down 8
  200: +down 5
  201: +up 3
  202: +down 3
  203: +down 6
  204: +down 6
  205: +forward 1
  206: +down 2
  207: +forward 2
  208: +down 5
  209: +up 2
  210: +forward 5
  211: +down 1
  212: +down 3
  213: +forward 4
  214: +down 2
  215: +forward 8
  216: +down 6
  217: +forward 3
  218: +forward 3
  219: +forward 9
  220: +down 9
  221: +down 4
  222: +down 8
  223: +down 7
  224: +down 3
  225: +up 6
  226: +down 7
  227: +forward 9
  228: +up 9
  229: +down 8
  230: +forward 9
  231: +forward 8
  232: +down 2
  233: +up 4
  234: +forward 8
  235: +up 7
  236: +down 2
  237: +forward 6
  238: +forward 7
  239: +down 5
  240: +up 4
  241: +down 3
  242: +down 3
  243: +down 5
  244: +down 2
  245: +down 5
  246: +forward 8
  247: +forward 8
  248: +down 5
  249: +up 4
  250: +down 6
  251: +forward 5
  252: +up 6
  253: +up 5
  254: +down 4
  255: +forward 7
  256: +forward 5
  257: +down 7
  258: +up 9
  259: +up 4
  260: +up 9
  261: +forward 8
  262: +down 8
  263: +down 8
  264: +down 2
  265: +down 8
  266: +down 8
  267: +up 6
  268: +forward 2
  269: +down 9
  270: +forward 5
  271: +forward 4
  272: +down 8
  273: +up 5
  274: +forward 3
  275: +forward 1
  276: +down 6
  277: +forward 9
  278: +forward 2
  279: +forward 1
  280: +up 5
  281: +down 2
  282: +forward 5
  283: +up 6
  284: +up 6
  285: +forward 9
  286: +up 3
  287: +forward 2
  288: +forward 9
  289: +down 9
  290: +down 5
  291: +up 4
  292: +up 7
  293: +up 8
  294: +forward 4
  295: +forward 3
  296: +down 7
  297: +down 5
  298: +forward 5
  299: +down 6
  300: +forward 9
  301: +up 4
  302: +up 6
  303: +down 2
  304: +forward 6
  305: +forward 7
  306: +up 9
  307: +up 5
  308: +down 4
  309: +up 5
  310: +down 2
  311: +forward 4
  312: +up 9
  313: +down 1
  314: +forward 7
  315: +down 9
  316: +forward 5
  317: +down 5
  318: +down 2
  319: +up 4
  320: +up 8
  321: +down 8
  322: +down 7
  323: +up 7
  324: +down 1
  325: +forward 5
  326: +forward 8
  327: +down 2
  328: +down 1
  329: +forward 8
  330: +down 7
  331: +up 6
  332: +forward 9
  333: +forward 4
  334: +down 8
  335: +forward 1
  336: +up 8
  337: +forward 3
  338: +up 4
  339: +forward 9
  340: +down 6
  341: +forward 5
  342: +forward 1
  343: +forward 8
  344: +forward 5
  345: +forward 8
  346: +down 4
  347: +forward 8
  348: +forward 2
  349: +forward 8
  350: +forward 3
  351: +down 3
  352: +forward 6
  353: +up 6
  354: +up 9
  355: +down 4
  356: +down 6
  357: +forward 6
  358: +down 9
  359: +up 2
  360: +down 8
  361: +down 6
  362: +down 1
  363: +forward 1
  364: +down 2
  365: +down 3
  366: +forward 5
  367: +forward 6
  368: +down 5
  369: +up 7
  370: +up 2
  371: +forward 2
  372: +down 4
  373: +down 4
  374: +forward 3
  375: +down 4
  376: +up 4
  377: +forward 1
  378: +down 4
  379: +forward 9
  380: +forward 7
  381: +forward 6
  382: +down 3
  383: +down 4
  384: +forward 3
  385: +forward 3
  386: +forward 3
  387: +up 6
  388: +forward 4
  389: +forward 7
  390: +forward 3
  391: +forward 5
  392: +forward 7
  393: +forward 4
  394: +down 1
  395: +up 2
  396: +up 7
  397: +forward 4
  398: +down 2
  399: +forward 2
  400: +up 7
  401: +down 7
  402: +forward 5
  403: +forward 9
  404: +down 8
  405: +forward 5
  406: +forward 5
  407: +down 9
  408: +forward 1
  409: +forward 6
  410: +down 2
  411: +down 3
  412: +down 1
  413: +down 7
  414: +down 3
  415: +up 3
  416: +down 3
  417: +forward 5
  418: +down 4
  419: +forward 6
  420: +forward 2
  421: +down 4
  422: +forward 4
  423: +up 5
  424: +up 3
  425: +forward 2
  426: +forward 5
  427: +down 7
  428: +up 9
  429: +up 5
  430: +down 3
  431: +forward 8
  432: +forward 4
  433: +down 8
  434: +up 4
  435: +forward 8
  436: +forward 7
  437: +forward 1
  438: +down 2
  439: +down 6
  440: +up 7
  441: +forward 9
  442: +down 2
  443: +down 4
  444: +down 3
  445: +down 8
  446: +up 4
  447: +down 2
  448: +up 3
  449: +forward 1
  450: +down 2
  451: +up 6
  452: +down 9
  453: +up 3
  454: +down 1
  455: +down 1
  456: +forward 4
  457: +down 2
  458: +forward 3
  459: +forward 5
  460: +forward 7
  461: +down 7
  462: +up 3
  463: +up 5
  464: +down 1
  465: +down 2
  466: +forward 4
  467: +down 1
  468: +down 1
  469: +down 7
  470: +up 4
  471: +forward 3
  472: +down 3
  473: +forward 2
  474: +down 3
  475: +up 7
  476: +down 1
  477: +up 5
  478: +down 7
  479: +forward 4
  480: +up 2
  481: +forward 5
  482: +up 4
  483: +down 4
  484: +down 3
  485: +forward 1
  486: +up 9
  487: +down 5
  488: +forward 9
  489: +forward 1
  490: +down 7
  491: +down 2
  492: +down 4
  493: +down 2
  494: +forward 3
  495: +down 1
  496: +down 2
  497: +up 9
  498: +forward 2
  499: +down 8
  500: +forward 1
  501: +forward 3
  502: +down 5
  503: +down 4
  504: +forward 2
  505: +forward 8
  506: +forward 9
  507: +down 9
  508: +down 6
  509: +up 3
  510: +forward 1
  511: +down 6
  512: +down 7
  513: +up 3
  514: +forward 9
  515: +down 2
  516: +up 4
  517: +forward 3
  518: +forward 6
  519: +forward 6
  520: +down 7
  521: +forward 7
  522: +forward 6
  523: +down 7
  524: +up 9
  525: +forward 7
  526: +down 1
  527: +down 8
  528: +down 2
  529: +down 2
  530: +down 9
  531: +down 6
  532: +forward 1
  533: +down 9
  534: +forward 9
  535: +forward 8
  536: +forward 6
  537: +forward 9
  538: +down 5
  539: +forward 9
  540: +forward 4
  541: +forward 4
  542: +down 6
  543: +forward 6
  544: +forward 5
  545: +forward 7
  546: +down 7
  547: +down 9
  548: +forward 4
  549: +down 9
  550: +up 5
  551: +forward 6
  552: +down 6
  553: +forward 9
  554: +up 7
  555: +forward 6
  556: +up 6
  557: +up 9
  558: +forward 9
  559: +up 4
  560: +down 3
  561: +up 9
  562: +down 8
  563: +down 2
  564: +forward 4
  565: +down 8
  566: +down 2
  567: +forward 2
  568: +down 5
  569: +up 3
  570: +down 1
  571: +forward 4
  572: +down 3
  573: +forward 3
  574: +down 9
  575: +forward 6
  576: +forward 6
  577: +down 9
  578: +forward 6
  579: +forward 1
  580: +down 5
  581: +up 1
  582: +forward 3
  583: +forward 1
  584: +forward 5
  585: +down 8
  586: +forward 7
  587: +forward 2
  588: +up 3
  589: +forward 8
  590: +forward 1
  591: +forward 7
  592: +down 1
  593: +down 4
  594: +forward 7
  595: +forward 9
  596: +forward 4
  597: +down 2
  598: +forward 5
  599: +forward 3
  600: +forward 9
  601: +forward 3
  602: +up 3
  603: +forward 9
  604: +down 3
  605: +forward 9
  606: +forward 3
  607: +forward 7
  608: +down 5
  609: +forward 6
  610: +down 6
  611: +forward 5
  612: +forward 1
  613: +down 1
  614: +forward 8
  615: +down 3
  616: +up 1
  617: +down 6
  618: +forward 7
  619: +up 5
  620: +up 7
  621: +down 3
  622: +forward 8
  623: +up 8
  624: +down 4
  625: +up 6
  626: +up 7
  627: +forward 1
  628: +forward 2
  629: +forward 7
  630: +down 1
  631: +forward 4
  632: +down 8
  633: +up 6
  634: +up 7
  635: +up 4
  636: +down 7
  637: +down 8
  638: +down 6
  639: +forward 5
  640: +forward 9
  641: +down 7
  642: +forward 8
  643: +down 9
  644: +down 9
  645: +forward 5
  646: +forward 2
  647: +up 4
  648: +down 2
  649: +forward 3
  650: +down 2
  651: +forward 1
  652: +down 7
  653: +down 6
  654: +forward 5
  655: +up 2
  656: +forward 4
  657: +down 4
  658: +forward 5
  659: +forward 7
  660: +up 5
  661: +down 7
  662: +forward 9
  663: +forward 3
  664: +forward 6
  665: +up 8
  666: +down 9
  667: +forward 1
  668: +up 8
  669: +forward 3
  670: +down 6
  671: +down 1
  672: +down 3
  673: +down 4
  674: +up 2
  675: +up 3
  676: +forward 8
  677: +up 7
  678: +down 2
  679: +forward 1
  680: +down 6
  681: +forward 1
  682: +down 8
  683: +forward 3
  684: +forward 5
  685: +forward 5
  686: +up 5
  687: +forward 4
  688: +forward 6
  689: +down 8
  690: +up 7
  691: +forward 8
  692: +up 6
  693: +forward 5
  694: +down 4
  695: +forward 8
  696: +down 3
  697: +forward 7
  698: +forward 9
  699: +forward 8
  700: +up 9
  701: +forward 4
  702: +up 5
  703: +up 8
  704: +down 8
  705: +forward 1
  706: +down 1
  707: +forward 3
  708: +forward 9
  709: +down 9
  710: +up 2
  711: +forward 5
  712: +down 1
  713: +down 6
  714: +forward 2
  715: +forward 2
  716: +down 2
  717: +down 8
  718: +forward 5
  719: +up 2
  720: +up 2
  721: +forward 3
  722: +down 6
  723: +up 2
  724: +down 2
  725: +down 1
  726: +up 9
  727: +forward 6
  728: +up 4
  729: +forward 4
  730: +down 2
  731: +forward 8
  732: +up 9
  733: +down 1
  734: +forward 9
  735: +up 3
  736: +up 7
  737: +forward 5
  738: +down 9
  739: +down 2
  740: +down 5
  741: +up 4
  742: +up 8
  743: +up 2
  744: +down 1
  745: +up 4
  746: +forward 8
  747: +forward 2
  748: +down 8
  749: +forward 9
  750: +forward 1
  751: +down 5
  752: +forward 3
  753: +down 6
  754: +forward 3
  755: +up 2
  756: +down 9
  757: +down 6
  758: +down 4
  759: +down 9
  760: +down 8
  761: +forward 2
  762: +forward 7
  763: +up 4
  764: +forward 8
  765: +up 9
  766: +up 6
  767: +forward 2
  768: +down 1
  769: +down 5
  770: +down 5
  771: +down 3
  772: +up 9
  773: +up 9
  774: +forward 9
  775: +forward 5
  776: +down 1
  777: +down 3
  778: +down 8
  779: +down 4
  780: +forward 5
  781: +up 4
  782: +down 2
  783: +down 5
  784: +down 4
  785: +down 8
  786: +down 2
  787: +forward 9
  788: +forward 7
  789: +up 9
  790: +forward 8
  791: +down 9
  792: +down 2
  793: +forward 5
  794: +down 9
  795: +forward 7
  796: +down 2
  797: +down 9
  798: +forward 4
  799: +up 7
  800: +down 9
  801: +forward 6
  802: +forward 2
  803: +down 1
  804: +down 9
  805: +down 3
  806: +down 7
  807: +down 8
  808: +down 5
  809: +down 9
  810: +down 1
  811: +up 9
  812: +down 7
  813: +forward 7
  814: +up 4
  815: +down 2
  816: +down 4
  817: +forward 6
  818: +forward 8
  819: +forward 1
  820: +forward 2
  821: +up 2
  822: +up 2
  823: +forward 9
  824: +down 9
  825: +forward 8
  826: +forward 6
  827: +forward 5
  828: +down 2
  829: +forward 7
  830: +up 3
  831: +up 8
  832: +forward 1
  833: +forward 5
  834: +down 7
  835: +down 7
  836: +forward 5
  837: +down 1
  838: +up 3
  839: +up 8
  840: +forward 5
  841: +forward 7
  842: +forward 3
  843: +down 6
  844: +up 7
  845: +forward 8
  846: +down 5
  847: +up 3
  848: +forward 7
  849: +down 2
  850: +down 1
  851: +down 1
  852: +forward 1
  853: +down 1
  854: +down 8
  855: +down 3
  856: +up 1
  857: +forward 8
  858: +forward 9
  859: +forward 5
  860: +forward 8
  861: +down 2
  862: +forward 3
  863: +down 5
  864: +up 9
  865: +down 9
  866: +down 5
  867: +forward 1
  868: +up 9
  869: +up 4
  870: +up 7
  871: +up 9
  872: +up 4
  873: +down 2
  874: +forward 6
  875: +forward 4
  876: +up 5
  877: +up 6
  878: +down 8
  879: +down 6
  880: +down 6
  881: +up 3
  882: +forward 3
  883: +down 9
  884: +down 5
  885: +down 5
  886: +forward 7
  887: +down 6
  888: +forward 7
  889: +down 9
  890: +down 8
  891: +down 3
  892: +down 7
  893: +down 4
  894: +down 1
  895: +forward 6
  896: +up 7
  897: +down 1
  898: +forward 7
  899: +down 2
  900: +forward 4
  901: +down 3
  902: +forward 6
  903: +up 7
  904: +forward 3
  905: +down 3
  906: +up 6
  907: +down 2
  908: +down 4
  909: +down 8
  910: +forward 6
  911: +down 4
  912: +forward 7
  913: +down 2
  914: +forward 9
  915: +down 3
  916: +down 6
  917: +down 3
  918: +down 6
  919: +forward 4
  920: +down 8
  921: +up 5
  922: +down 6
  923: +forward 6
  924: +down 6
  925: +forward 9
  926: +up 8
  927: +down 7
  928: +up 1
  929: +forward 4
  930: +up 3
  931: +forward 9
  932: +up 6
  933: +forward 4
  934: +up 8
  935: +forward 2
  936: +down 7
  937: +down 7
  938: +forward 1
  939: +up 9
  940: +up 7
  941: +forward 3
  942: +down 1
  943: +up 5
  944: +forward 3
  945: +forward 1
  946: +forward 3
  947: +forward 7
  948: +down 6
  949: +down 1
  950: +forward 9
  951: +up 1
  952: +up 1
  953: +down 8
  954: +down 7
  955: +forward 1
  956: +up 8
  957: +up 6
  958: +down 8
  959: +forward 1
  960: +up 3
  961: +down 7
  962: +forward 7
  963: +down 7
  964: +forward 4
  965: +forward 6
  966: +up 2
  967: +down 9
  968: +forward 9
  969: +down 4
  970: +up 2
  971: +forward 7
  972: +forward 4
  973: +up 8
  974: +up 5
  975: +down 8
  976: +forward 7
  977: +forward 6
  978: +down 1
  979: +up 5
  980: +up 5
  981: +down 3
  982: +forward 7
  983: +forward 1
  984: +forward 7
  985: +forward 1
  986: +down 3
  987: +forward 3
  988: +forward 4
  989: +forward 6
  990: +down 3
  991: +up 4
  992: +up 5
  993: +down 8
  994: +up 3
  995: +forward 4
  996: +forward 6
  997: +forward 8
  998: +forward 4
  999: +forward 7
 1000: +down 9
 1001: +up 3
 1002: +down 1
 1003: +up 4
 1004: +forward 8
 1005: +forward 5
 1006: +forward 4
 1007: +forward 1
 1008: +down 2
 1009: +down 7
 1010: +down 6
 1011: +forward 4
 1012: +forward 2
 1013: +up 2
 1014: +down 2
 1015: +forward 2
 1016: +forward 2
 1017: +up 6
 1018: +forward 6
 1019: +forward 1
 1020: +forward 8
 1021: +up 7
 1022: +forward 4
 1023: +forward 2
 1024: +down 2
 1025: +down 1
 1026: +forward 4
 1027: +down 4
 1028: +up 7
 1029: +up 2
 1030: +up 3
 1031: +down 5
 1032: +forward 2
 1033: +forward 9
 1034: +down 2
 1035: +down 9
 1036: +down 4
 1037: +down 8
 1038: +up 9
 1039: +up 5
 1040: +up 2
 1041: +forward 6
 1042: +down 6
 1043: +forward 9
 1044: +forward 7
 1045: +forward 8
 1046: +forward 4
 1047: +up 9
 1048: +forward 9
 1049: +down 8
 1050: +down 2
 1051: +forward 5
 1052: +down 8
 1053: +down 8
 1054: +forward 8
 1055: +forward 6
 1056: +forward 7
 1057: +down 8
 1058: +forward 1
 1059: +forward 6
 1060: +down 4
 1061: +forward 1
 1062: +down 3
 1063: +forward 1
 1064: +down 8
 1065: +forward 2
 1066: +down 4
 1067: +down 6
 1068: +down 4
 1069: +up 9
 1070: +forward 6
 1071: +up 3
 1072: +down 7
 1073: +forward 3
 1074: +down 8
 1075: +forward 6
 1076: +forward 3
 1077: +down 1
 1078: +forward 1
 1079: +up 6
 1080: +down 1
 1081: +down 2
 1082: +forward 5
 1083: +down 3
 1084: +up 5
 1085: +forward 6
 1086: +forward 7
 1087: +forward 2
 1088: +forward 9
 1089: +down 7
 1090: +up 4
 1091: +forward 6
 1092: +forward 8
 1093: +down 6
 1094: +down 7
 1095: +down 4
 1096: +down 5
 1097: +down 6
 1098: +down 3
 1099: +up 1
 1100: +forward 2
 1101: +forward 3
 1102: +down 1
 1103: +down 7
 1104: +up 8
 1105: +forward 1
 1106: +forward 6
 1107: +up 3
 1108: +down 1
 1109: +up 6
 1110: +down 2
 1111: +up 1
 1112: +up 7
 1113: +forward 3
 1114: +up 8
 1115: +forward 7
 1116: +forward 5
 1117: +forward 5

Generated by git2html.