mirror of
https://github.com/ckaczor/Advent2019.git
synced 2026-02-16 10:48:30 -05:00
Day 8 - Part 2
This commit is contained in:
36
Day8/Day8.cs
36
Day8/Day8.cs
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Advent
|
namespace Advent
|
||||||
{
|
{
|
||||||
@@ -15,9 +14,6 @@ namespace Advent
|
|||||||
|
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
var minimumZeroCount = int.MaxValue;
|
|
||||||
var minimumZeroLayer = 0;
|
|
||||||
|
|
||||||
var layers = new List<char[]>();
|
var layers = new List<char[]>();
|
||||||
|
|
||||||
while (index < data.Length)
|
while (index < data.Length)
|
||||||
@@ -29,6 +25,10 @@ namespace Advent
|
|||||||
index += (25 * 6);
|
index += (25 * 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
var minimumZeroCount = int.MaxValue;
|
||||||
|
var minimumZeroLayer = 0;
|
||||||
|
|
||||||
var layerIndex = 0;
|
var layerIndex = 0;
|
||||||
|
|
||||||
foreach (var layer in layers)
|
foreach (var layer in layers)
|
||||||
@@ -45,6 +45,34 @@ namespace Advent
|
|||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine(layers[minimumZeroLayer].Count(c => c == '1') * layers[minimumZeroLayer].Count(c => c == '2'));
|
Console.WriteLine(layers[minimumZeroLayer].Count(c => c == '1') * layers[minimumZeroLayer].Count(c => c == '2'));
|
||||||
|
*/
|
||||||
|
|
||||||
|
var finalImage = new char[25 * 6];
|
||||||
|
var startLayer = data.Length / (25 * 6) - 1;
|
||||||
|
|
||||||
|
finalImage = layers[startLayer];
|
||||||
|
|
||||||
|
for (var layerIndex = startLayer - 1; layerIndex >= 0; layerIndex--)
|
||||||
|
{
|
||||||
|
var layer = layers[layerIndex];
|
||||||
|
|
||||||
|
for (var i = 0; i < layer.Length; i++)
|
||||||
|
{
|
||||||
|
if (layer[i] != '2')
|
||||||
|
finalImage[i] = layer[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var outputIndex = 1;
|
||||||
|
foreach (var c in finalImage)
|
||||||
|
{
|
||||||
|
Console.Write(c == '0' ? ' ' : '*');
|
||||||
|
|
||||||
|
if (outputIndex % 25 == 0)
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
outputIndex++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user