« first day (38 days earlier)      last day (162 days later) » 

13:03
9
A: Most efficient cubifier

Kamil DrakariC# (.NET Core), Score: 129.98 11.73 10.82 9.62 10.33 10.32 10.20 -1.2 point from MD XF's suggestion to use @6666... instead of @6@6@6@6... for repeating character, and superior initialization sequence static void Main() { List<byte> input = new List<byte>(); int inChar = Console....

Nice. I was looking for a trivial/boring solution that would always work :P
I'm working on how to get the script up and running for you, just a sec... Also remember that this is not code golf, so your submission does not need to be golfed!
@MDXF Oh, I misread the scoring. I'll update with legible code.
Here you go (link too long for comment), your score is 129.98
Add using System;, reset outputCharacter at the end of the for loop (or move declaration into the loop), and does the program handle characters that are not multiples of 9? I'll have to check your golfed code from earlier when I'm not on a phone. Otherwise, good job!
13:03
@TehPers The program relies on character overflow; the programming language only prints ASCII so once the notepad exceeds 256 it wraps around to the first characters again. Because of that behavior, repeatedly adding 9 will eventually reach any character even if it needs to wrap around a few times first. It also means that resetting outputCharacter isn't really needed. As for using System; it's present in the Header section of TIO so going to the link lets it run correctly, but I didn't include it here to keep the code a little cleaner.
@KamilDrakari Oh I see. Creative!
Bounty in 7 hpurs.
Something you can optimize is printing more than one of the same character. For example, @6@6@6@6@6 to @66666
U3D1R3L1F3B1U1D3 is two bytes shorter and also gets the LEFT face sum to 1. You'd have to re-write your algorithms a bit, but it would get your score down to about 10.69.
@MDXF Thanks for the improvements! The real savings of your Initialization sequence is that it makes the second lowest face 14, but it's also shorter than my second try that got the second lowest face to 16 so the savings are significant.
@MDXF have you tested my code for inputs which include newlines? I wouldn't expect it to work because of how ReadLine works, I'll update with an implementation that reads until EoF
I haven't tested it for inputs with newlines yet. However, this is your program's output for Hello World :I
I believe you messed up the face sums; your array should look like int[] sides = new int[] {20, 1, 14, 45, 24, 33}; which makes all letters two values behind what they should be, not sure why that is.
13:03
@MDXF Just tell me when.
@MDXF As far as I can tell, it has been repaired now. I copied a value wrong when I was updating the array to use the new sides from your initialization. I also went ahead and changed the input from Console.ReadLine() which interpreted newlines as end of input, to a loop of Console.Read() which actually looks for an End of File marker.
@KamilDrakari Yep, seems to be fixed now, good job. But you forgot to include the if (currentChar == character) in the most recent revision; I was able to get your score down by .01 adding it.
Also, hardcoding for 1 gets it down to 10.21. like so, not saying you should hardcode things but it does get the score down :P your choice if you want to use it.
These comments are getting excessive, so let's move further discussion to the Cubically chat room.
R3D1R1 sets the top face to 1.

« first day (38 days earlier)      last day (162 days later) »