Adding Day 2 Input and Solution
This commit is contained in:
		
							parent
							
								
									83508ce6a5
								
							
						
					
					
						commit
						0136463fbe
					
				| 
						 | 
				
			
			@ -9,6 +9,9 @@
 | 
			
		|||
    <None Update="Input\Day1Input.txt">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </None>
 | 
			
		||||
    <None Update="Input\Day2Input.txt">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </None>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
</Project>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,250 @@
 | 
			
		|||
ybruvapdgixszyckwtfqjonsie
 | 
			
		||||
mbruvapxghslyyckwtfqjonsie
 | 
			
		||||
mbruvapdghslzyckwtkujonsie
 | 
			
		||||
rwruvapdghxlzyckwtfqjcnsie
 | 
			
		||||
obruvapdgtxlzyckwtfqionsie
 | 
			
		||||
lbruvapdghxqzyckwtfqjfnsie
 | 
			
		||||
mbrunapdghxlzyccatfqjonsie
 | 
			
		||||
mbruvapdghxlzyokltfqjdnsie
 | 
			
		||||
ybruvapdghxlzmckwtfqjmnsie
 | 
			
		||||
mbruwaadghxdzyckwtfqjonsie
 | 
			
		||||
muruvapdghxlzyckvtfqjonsim
 | 
			
		||||
mbruvapdghxlkyckwtxqjonjie
 | 
			
		||||
mbruvaqdghxlzyckwtfqjrnnie
 | 
			
		||||
mwruvapdghdlzyckttfqjonsie
 | 
			
		||||
mbruvapdgtelzyckwxfqjonsie
 | 
			
		||||
mbruvapdohxlzvckwtfqjonhie
 | 
			
		||||
mbrugapdgbxlzyckwtfqjynsie
 | 
			
		||||
mbruvapdghxlzyckwtlqjonjiu
 | 
			
		||||
mbruvapwghxlzyckwafqjonbie
 | 
			
		||||
wbruvapdghxlhyckwtfqjonsii
 | 
			
		||||
mbruvapdghxlzyckwtcqnonsiq
 | 
			
		||||
mbyuvapighxlzybkwtfqjonsie
 | 
			
		||||
mbrrvapdghxvzyckwtfqjonsio
 | 
			
		||||
mhruvapdghrlzyckwtfzjonsie
 | 
			
		||||
mtruvapvghxlzyckwtfnjonsie
 | 
			
		||||
mmrlhapdghxlzyckwtfqjonsie
 | 
			
		||||
mbruvapdgpxlzyjkwtfqjovsie
 | 
			
		||||
mbrucapdghxlzymkwtzqjonsie
 | 
			
		||||
mbeuvafdghxlzyckwtfqjonwie
 | 
			
		||||
mbruvapcghxlayckwtfqjonsii
 | 
			
		||||
mbruvabdghxlzyckwtfqyansie
 | 
			
		||||
mbruvjpdghxlzyckwtfqgfnsie
 | 
			
		||||
lbruvapdghxlzyckwtfqjonriv
 | 
			
		||||
mbrupapdghxlzycjwtfqronsie
 | 
			
		||||
mbpuvapdthxlzymkwtfqjonsie
 | 
			
		||||
mbiuvapdgixlzyckwxfqjonsie
 | 
			
		||||
mbruvapdghxyzyckwtfcjonsbe
 | 
			
		||||
mbrurapkghxlzyckwtfqjonzie
 | 
			
		||||
mbrufapdrhxlzyciwtfqjonsie
 | 
			
		||||
mbruvapdghxlzbckwtfqjoisae
 | 
			
		||||
ubruhapdghxlzuckwtfqjonsie
 | 
			
		||||
mbruvapdjhulzyckwtfqjonshe
 | 
			
		||||
mbruwapdgyxlzyckntfqjonsie
 | 
			
		||||
mwruvapdghplzyckwtfqjonsme
 | 
			
		||||
mbruvapjghtlzyckwtfqgonsie
 | 
			
		||||
pbruvapdghhlzyckwtfrjonsie
 | 
			
		||||
mbruvgpdihxqzyckwtfqjonsie
 | 
			
		||||
mbruvahdohxlzyckwtfijonsie
 | 
			
		||||
ibuuvapdghxlzyckwtfqjofsie
 | 
			
		||||
mbruvandghxlzyckwtfqjrnxie
 | 
			
		||||
mbrjvlpdghxlzyckwgfqjonsie
 | 
			
		||||
mbruvapogfxlzyckotfqjonsie
 | 
			
		||||
mbruvrpdghxlzyckutfejonsie
 | 
			
		||||
mbruvbpdghxlzyhkwtfqjonsip
 | 
			
		||||
mbruvapdghxlzyckmnfqjensie
 | 
			
		||||
mbruvapdghvlzyckwtfqjowsix
 | 
			
		||||
mbruvakdgholzwckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzackwtfqconsae
 | 
			
		||||
mbruvapdghxlzyqvwtfqjlnsie
 | 
			
		||||
mprrvapdgfxlzyckwtfqjonsie
 | 
			
		||||
mbrunacdghxlhyckwtfqjonsie
 | 
			
		||||
obruvapdgsxlzyckwtfqjonvie
 | 
			
		||||
murcvapdghslzyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzyzkwmftjonsie
 | 
			
		||||
mbrwvapdgtvlzyckwtfqjonsie
 | 
			
		||||
mbxuvapdghxlzqcnwtfqjonsie
 | 
			
		||||
mbruvaddghxboyckwtfqjonsie
 | 
			
		||||
mhruvwndghxlzyckwtfqjonsie
 | 
			
		||||
mbrdvapdghxlzyckwmpqjonsie
 | 
			
		||||
mbruvapdgyxlzyckizfqjonsie
 | 
			
		||||
mbruvapdghxlzlckwtfqeowsie
 | 
			
		||||
mbruvbpdgrxlzyckwtfqjonsxe
 | 
			
		||||
mbruqapoghxlzyckwtvqjonsie
 | 
			
		||||
mbouhapdghmlzyckwtfqjonsie
 | 
			
		||||
mbruvapjghxidyckwtfqjonsie
 | 
			
		||||
mbsuvapkghxlkyckwtfqjonsie
 | 
			
		||||
mbruvlpdghxlzycrwtfqjonsis
 | 
			
		||||
mcrueapdghxlzyckwtfqjynsie
 | 
			
		||||
muruvapngbxlzyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzycawtfyjojsie
 | 
			
		||||
mbruvbpdghxczyjkwtfqjonsie
 | 
			
		||||
ybduvapdghxnzyckwtfqjonsie
 | 
			
		||||
mbruvbpdghxlzyckwtfbjousie
 | 
			
		||||
mbouvapdghxlzycbwtfqponsie
 | 
			
		||||
mbruvaedghplzycgwtfqjonsie
 | 
			
		||||
mbrhvapdghxlzyckytfqjgnsie
 | 
			
		||||
mbruvapdqbxleyckwtfqjonsie
 | 
			
		||||
mbruvapddhhldyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlwrckwtfqjondie
 | 
			
		||||
mbruvapdmhxlzyckwtfqkonsve
 | 
			
		||||
xbbuvapdghxlzyckwtfkjonsie
 | 
			
		||||
mbruvapdghxlzyckwcfqjunkie
 | 
			
		||||
mbruvapdghxlzyckwtfqxonfib
 | 
			
		||||
mbrtvapkghxlzyckwtfqeonsie
 | 
			
		||||
mbruvazdghxldymkwtfqjonsie
 | 
			
		||||
kbruvapddhxlzfckwtfqjonsie
 | 
			
		||||
mbouvapdghxlpyckwtfqjoosie
 | 
			
		||||
mbauvapdghxlzyckwtfqjszsie
 | 
			
		||||
mbruvapdghtlzyckntfqtonsie
 | 
			
		||||
mbruvipdggxlzbckwtfqjonsie
 | 
			
		||||
mbruqapdghrlzyckwtfqjznsie
 | 
			
		||||
myruvacdghxlzyckwifqjonsie
 | 
			
		||||
mbruvapdghxlzuckwtfkjocsie
 | 
			
		||||
mwjuvapdghxlzyckwtfqjonsxe
 | 
			
		||||
mbruvapxghxlzickwtfqjobsie
 | 
			
		||||
mbrupapdghxtlyckwtfqjonsie
 | 
			
		||||
meruvapdjjxlzyckwtfqjonsie
 | 
			
		||||
mbruvkodghxlzyckwofqjonsie
 | 
			
		||||
mbruvapdgexlzyckwtgkjonsie
 | 
			
		||||
mbruvapwghxlzyckwtcqjonsiw
 | 
			
		||||
mbruvapdghxlzykkwtfqtoxsie
 | 
			
		||||
mbruvapdahxlzycgwtfwjonsie
 | 
			
		||||
mbruvapdgwxlhyckhtfqjonsie
 | 
			
		||||
mbruvapbghxlzycbhmfqjonsie
 | 
			
		||||
mbruvapdghxvzyzkwtfqjonsin
 | 
			
		||||
mbrcvapdqhxlzyckwyfqjonsie
 | 
			
		||||
zbruvaxdghxlzyckwgfqjonsie
 | 
			
		||||
mtruvapdghxlilckwtfqjonsie
 | 
			
		||||
bbruvapdghxlzyckwtfmjonsxe
 | 
			
		||||
mbruvajdghxlzyckwtfqfwnsie
 | 
			
		||||
mbruvapdgkxlzyckwtfqionpie
 | 
			
		||||
rbruvapdghxlryckwdfqjonsie
 | 
			
		||||
mbruvandghxlzyckwmfvjonsie
 | 
			
		||||
mbruvahdghxlzeckwtfqjonsme
 | 
			
		||||
mbruvnpcghxlzyckwtfqjobsie
 | 
			
		||||
mbruvapdghqlzyckwtfbjonsiy
 | 
			
		||||
mbruvavdghxlzyckwufqjodsie
 | 
			
		||||
mbruvapdghxlzyckwtfzmovsie
 | 
			
		||||
mbruvlpdghxuzyckwtfqjoesie
 | 
			
		||||
mbruvopdghxlzycwwtfqjansie
 | 
			
		||||
obruvapdghglzybkwtfqjonsie
 | 
			
		||||
mbpuvlpdghxlcyckwtfqjonsie
 | 
			
		||||
mbruvaidghxlzyckwtfmjonoie
 | 
			
		||||
mbruvapdihxzzyckwtfqjonsiy
 | 
			
		||||
mbquvapdghxlzyckwtfqconsme
 | 
			
		||||
mbruvapdghslzyckqtfqjojsie
 | 
			
		||||
mbrzdapdghxmzyckwtfqjonsie
 | 
			
		||||
mwruvapdghxozyckwtfqjonsxe
 | 
			
		||||
muruvapdgfxlzyckwtfqjojsie
 | 
			
		||||
wtruvapdghxlzyckvtfqjonsie
 | 
			
		||||
mbruvapdghxlzyckysfqjxnsie
 | 
			
		||||
mbruvrpdghxczyckktfqjonsie
 | 
			
		||||
mbquvapdghxlryckwtfqjonsne
 | 
			
		||||
mbruvapdghflzycvwtfqjpnsie
 | 
			
		||||
mbruvapughclzyckwtfqjonsin
 | 
			
		||||
mbrhvapdghxlpyckwtfqjonsre
 | 
			
		||||
mbruvapdgtxlzyckwtfqjoosit
 | 
			
		||||
mbrupapnghxhzyckwtfqjonsie
 | 
			
		||||
mmvuvapdvhxlzyckwtfqjonsie
 | 
			
		||||
mbruvaptghxlzyckwtfqjotsse
 | 
			
		||||
mgruvapvghxlzyckwtfqjonsix
 | 
			
		||||
mbrupapdghxszyckwtfqjunsie
 | 
			
		||||
mbruvkpdghelzyckwtfqjpnsie
 | 
			
		||||
mbruvrrdghjlzyckwtfqjonsie
 | 
			
		||||
mbruvapdghnlzyckwtfkjonsze
 | 
			
		||||
mbruvwpdghxlzyckwtfqhoysie
 | 
			
		||||
mbrsvapdfhxlzyckwtfqjobsie
 | 
			
		||||
mbruvapdgexezymkwtfqjonsie
 | 
			
		||||
ybruvapdghxlzyckwtfqxonsiw
 | 
			
		||||
mrruvapdghxdzyckwtfqjossie
 | 
			
		||||
mbruvapdghtlzyckwtfqconsiu
 | 
			
		||||
mbrpvapdghxlzlckwpfqjonsie
 | 
			
		||||
mbruvjpdghslzyckwtfqjjnsie
 | 
			
		||||
mhruvapoghxlzyckwtfvjonsie
 | 
			
		||||
mbrubqpdghvlzyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzackwtfqconsiw
 | 
			
		||||
mbruvapdgnxlzkckwtfqjdnsie
 | 
			
		||||
mbrudapgghelzyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzlakwbfqjonsie
 | 
			
		||||
mbpuvapdghxlzyckwtuqjonjie
 | 
			
		||||
abruvapdghxlzykkwtfqjonzie
 | 
			
		||||
mbrupupdghxlsyckwtfqjonsie
 | 
			
		||||
mbrsvupdghxlzyckwtfqjonkie
 | 
			
		||||
mxruvgpdghxllyckwtfqjonsie
 | 
			
		||||
mbrnvapdghxlzycbwtfqfonsie
 | 
			
		||||
mbrbxapdghxlzyckttfqjonsie
 | 
			
		||||
mbnuvapdghxlzyxkwtmqjonsie
 | 
			
		||||
mbrfvapdghjlzickwtfqjonsie
 | 
			
		||||
mbhuvupdghxlzyxkwtfqjonsie
 | 
			
		||||
mbrcvapdghxluyckwtfqjznsie
 | 
			
		||||
mbruvapdghxlzyckwofqjoxsiz
 | 
			
		||||
mbrevapdghxloyckwtfqjonnie
 | 
			
		||||
mbruvipdghnlzyckwtfqjopsie
 | 
			
		||||
mbxxvaptghxlzyckwtfqjonsie
 | 
			
		||||
mbruvcpdghxlztckwtjqjonsie
 | 
			
		||||
mqruvlpdghxlzyckotfqjonsie
 | 
			
		||||
mbruvapdgqxlzyckwtfqjpvsie
 | 
			
		||||
mbruvapdgvxlzyjkwtfqjbnsie
 | 
			
		||||
mbruvapdghxlgyckwtfqcocsie
 | 
			
		||||
mbruvapdghxkwyckwtfqjoqsie
 | 
			
		||||
mbrgvavdghxlzyckwxfqjonsie
 | 
			
		||||
qbruqapdgvxlzyckwtfqjonsie
 | 
			
		||||
mbauvapdghxlzgckwtfqjunsie
 | 
			
		||||
mbruvapdgdxluyckwtfqjoosie
 | 
			
		||||
mbruvapdghxlzykkwtfqwobsie
 | 
			
		||||
mbruvapdghxlzhcnwtfqjonqie
 | 
			
		||||
mbruvapdghxlzycbhmfqjonsie
 | 
			
		||||
mbruvapdghxluyczwtfqjontie
 | 
			
		||||
mbruvapnghxlzyckwnfqjonbie
 | 
			
		||||
moruvapdghxlzcckwtfqponsie
 | 
			
		||||
mbruvapfgxxlzyckwtfqjunsie
 | 
			
		||||
mbruvapdghxlryckvtfejonsie
 | 
			
		||||
mbrzvapdghxlzvcbwtfqjonsie
 | 
			
		||||
mbruvapdgqxlzyckwcfqjonsce
 | 
			
		||||
abruvupdrhxlzyckwtfqjonsie
 | 
			
		||||
mbrubaptghxlzyckwtfqjondie
 | 
			
		||||
mgruvapdgpxlzyckwtfijonsie
 | 
			
		||||
mbruvapdghxczlckwtfujonsie
 | 
			
		||||
mbruvapdgmmlzyckwtfqjonsir
 | 
			
		||||
mbruvapdhhxltyckwtfdjonsie
 | 
			
		||||
mbruvapdghxlzyckwtfdjjnste
 | 
			
		||||
mbrdvzpdghxlcyckwtfqjonsie
 | 
			
		||||
mbruvapdghxlzyckwtnqbonsim
 | 
			
		||||
mbrovapdghxlzyckwtfpjousie
 | 
			
		||||
mymuvapdghxlzyjkwtfqjonsie
 | 
			
		||||
mbpuvapdghxlzyckwtfljcnsie
 | 
			
		||||
mbrxvapdghxlzyclwtfqjonpie
 | 
			
		||||
mbrueapdghxlzyckwtfqjopsia
 | 
			
		||||
mbruvapdghxlzycdwtfqjbfsie
 | 
			
		||||
tbruvavdghxlzyckwtmqjonsie
 | 
			
		||||
mbduvapdghxlzyckwrfqjrnsie
 | 
			
		||||
mkrsvapughxlzyckwtfqjonsie
 | 
			
		||||
mbruvapdghylzyckwtfqtolsie
 | 
			
		||||
mgruvapdglxldyckwtfqjonsie
 | 
			
		||||
mbrunapdghclzyckwtfqjonsiy
 | 
			
		||||
mbruvapdgrxlxyckwtfgjonsie
 | 
			
		||||
mbruvapdghxpzbckftfqjonsie
 | 
			
		||||
mbruvcpdghxyzyckotfqjonsie
 | 
			
		||||
mbruvapdghxlsyckwtfqcqnsie
 | 
			
		||||
mbruvapdghxlzzckwtfqjonskf
 | 
			
		||||
mbruvppdghxlzfckwtfqjgnsie
 | 
			
		||||
mbhuvapdghxlzytkwtfqjonoie
 | 
			
		||||
mbruvapdghxlzvrkwtfqjjnsie
 | 
			
		||||
mbmuvapdghxuzyckwtfqjonsze
 | 
			
		||||
mbruvapdghnlzycnwtfqjonsil
 | 
			
		||||
mbruvapdgholzyckitfqjonsia
 | 
			
		||||
mbruxapdghxlmyckwtfqbonsie
 | 
			
		||||
mbauvapdgholzyckwtfqjolsie
 | 
			
		||||
mbruvapdghxlzyckwtfqjotslq
 | 
			
		||||
dbrutapdghxlzyckwtfqjonsiv
 | 
			
		||||
mbruvapdzhxlyyckwtfbjonsie
 | 
			
		||||
mmruaapsghxlzyckwtfqjonsie
 | 
			
		||||
mbruvaldgqxqzyckwtfqjonsie
 | 
			
		||||
mbruvaodghxdzyjkwtfqjonsie
 | 
			
		||||
mbrcmatdghxlzyckwtfqjonsie
 | 
			
		||||
mbrqvapdgtxlzycewtfqjonsie
 | 
			
		||||
mjruvapdghzlzyckwtfqjonrie
 | 
			
		||||
mbruvapdghxopcckwtfqjonsie
 | 
			
		||||
mbruvapdghxszycwwtfqjoqsie
 | 
			
		||||
mbruvapdgoxezyckwtjqjonsie
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,74 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
namespace AoC2018.Solutions
 | 
			
		||||
{
 | 
			
		||||
    public class Day2Solution: Solution
 | 
			
		||||
    {
 | 
			
		||||
        public override string Title => "Inventory Management System";
 | 
			
		||||
 | 
			
		||||
        public override int Day => 2;
 | 
			
		||||
 | 
			
		||||
        public override void Run()
 | 
			
		||||
        {
 | 
			
		||||
            string[] input = File.ReadAllLines(Path.Combine("Input", "Day2Input.txt"));
 | 
			
		||||
 | 
			
		||||
            Console.WriteLine($"Part 1: {CalculatePart1(input)}");
 | 
			
		||||
            Console.WriteLine($"Part 2: {CalculatePart2(input)}");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private int CalculatePart1(string[] input)
 | 
			
		||||
        {
 | 
			
		||||
            int value1 = 0, value2 = 0;
 | 
			
		||||
 | 
			
		||||
            foreach (var s in input)
 | 
			
		||||
            {
 | 
			
		||||
                bool two = false, three = false;
 | 
			
		||||
 | 
			
		||||
                var result = s.GroupBy(c => c).Select(c => new { Char = c.Key, Count = c.Count() });
 | 
			
		||||
                foreach (var x in result)
 | 
			
		||||
                {
 | 
			
		||||
                    if (x.Count == 2)
 | 
			
		||||
                        two = true;
 | 
			
		||||
                    else if (x.Count == 3)
 | 
			
		||||
                        three = true;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (two) value1++;
 | 
			
		||||
                if (three) value2++;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return value1 * value2;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private string CalculatePart2(string[] input)
 | 
			
		||||
        {
 | 
			
		||||
            string result = string.Empty;
 | 
			
		||||
 | 
			
		||||
            for (int i = 0; i < input.Length; i++)
 | 
			
		||||
            {
 | 
			
		||||
                for (int j = 0; j < input.Length; j++)
 | 
			
		||||
                {
 | 
			
		||||
                    var commonChars = CommonChars(input[i], input[j]).ToArray();
 | 
			
		||||
                    if (Math.Abs(input[j].Length - commonChars.Length) == 1)
 | 
			
		||||
                        return new string(commonChars);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private List<char> CommonChars(string left, string right)
 | 
			
		||||
        {
 | 
			
		||||
            List<char> identicalList = new List<char>(left.Length);
 | 
			
		||||
 | 
			
		||||
            for(int i = 0; i < left.Length; i++)
 | 
			
		||||
                if (left[i] == right[i])
 | 
			
		||||
                    identicalList.Add(left[i]);
 | 
			
		||||
 | 
			
		||||
            return identicalList;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue