protected override object SolvePartOne() { var reader = new BITSReader(_inputAsBinary.AsMemory()); var decoder = Decoder.Create(reader); decoder.Decode(out _packet); return(_packet.Traverse().Sum(p => p.Version)); }
internal static Packet Decode(BITSReader reader, int version) { var packet = new LiteralPacket(); packet.Version = version; string result = ""; string bits; do { bits = reader.ReadString(5); result += bits[1..];