fork(2) download
  1. let input =
  2. "221222210202222022222122222222102222021020222222222222221222222222222222122222222222220222121222221222022220222222022222222221221221222221222222022222222222201202222022222222222222212222122221222222222222222222222222222222122222222222220222121222221222022222222222022222222222221221222221222222222222221222201222222222222222222222022222121022222220222222222222222222222222122222202222222222222222220222222221222022022222222220222211222222222222022222221222222212222022222022222222202222121021222221222222220222222222222222122222202222221222120222220222122221222022222222222222222200222221222222122222222222211202222122222222222222012222020220222220222222220222022222222222122222202222220222022222220222222220222222122222222221221210222221022222022222221222201202222222222022222222022222120021222221222222222222022222222222022222222222222222022222221222022220222122122222222221221200222220022222121222222222201202222222222022222222112222120121222222222222220222122222222222022222212222220222121222222222122222222222222222222222222200222221222222121222220222211202222022222222222222012222020122022220222222220222122222222222022212202222222222222222220222020221222222222022222220221222222221022222222222221222220212222222222022222222212222020221122220222220222222022222222222222202212222221222020222221222221221222022022122222222221200222220022222122222222221221200222122222220222222102222221021022222222220222222122222222222222212222222221222120222221222121222222122222122222222222201222220222022120222222221221212222222222222222222112222221121122220222222221222222222222222022212212222222222121222221222122221222022112222222221221221222221022222022222221220221222122122222020222222202222120020022220222221220222222222222222022222202222221222020222222222221222222222022222222222220222222220022122120222222221221200022122222221222222112222021021122221222221222222122222222222222222212222220222220222220222121221222222112022222222222201222221022222120222220222212211222222222020222222010222120020122221222221220222022222222222022212222222222222222222221222220122222222122012222222222221222220222022120222221222221201122022222221222222020222122221122222222220220222122222222222222222222222221222122222222222221120222022212122222222221211222221122022020222221222211221222222222221222222121222021022022221222221222222222222222222022202212222221222020222220222120220222122112112222221220221222221222122022222222221221222222122222022222222001222021221022222222221221222222222222222122222202222222222120222222222121022222222212012222221222201222222022122122222222221222201022022222121222222212222122120222220222220222222022222222222220212222222220222122222222222121220222022222022222220220212122220022122222222220221212200122112222122222222111222022022222221222222222222022222222222222222212222222222122222222222220122222122002102222221221221122220022022220222221222200202122102222220222222212222120020022220222220222222222222222222220202222222222222120222222222220220222122022002222221220220122220122122121222221221212200122002202121222222221222122021222220222222220222022222222222022222222222220222221222221222221120222122212222222222221201022220022122021220221220211222022022212020222222000222221222022221222222220222222222222222022202212222222222121222220222220121222022212012220220220210222222122022021221221222200221122122212021222220001222220021222220222221220222122222222222121020222222222222021222220222221220222022002202221220222211222222002022120222221222220202122022202021222220011222021020022222222222221222022222222222020212222222221222121222222222121021222022012202222222221201122220012022220220221221211202022112222020222221201222120121022121222220222222022222222222220200222222222222221222222222021121222222212122220122220220022222122122220200220221211211022002202220222220212222120122220120222220221222022222222222022201222222222222222222221222122222222022122122220222220200222221212022121220221221201222122012212120222212002222020121121021222221221222222222222222122222202222221222021222221222021220222022002102220221222220022222212122221200220221210221122102212020222210220222020121020122222220220222122122222222221200202222220222121222221222220022222122112012220222221202022221102222220222221220211211022222212121222202110222122120222222222220220222122222222222120012202222220222221222220222021021222122102012220022220200122222222122122220220222201201122202212122222202101222221022122121222221221222122122022222120000222222200222222222221222020020222121012122221120220212122221102122121202220221211222022002212121222200211222020121121221222220221222122022222222121210202222200222022222220222221021222021112202222021222202222220112022221221220221221202022222222121202201222222022221121021222222222222222222022222120122212222221222120222221222222121222221202002222220220222022221022022221210220220221202022122212221212222212222121022021120222221222222022022102222102022222222221222122222222222121022222221002122221220222222222221112022120212222222202220022122212220212202020222222122022121222222221222122022022222201211222222210222020222222222221022222120112222121222220202122222012121122222221221212212222012222222222202112222221121021022220222222222222222022222202211212222201222122222220222222220222222212012120220221202122222122102012210222221200221222012202220212220012222020221021220222221220222222122002222121021222222212222221222222222021220222222202202221022222211122222212001200210220222221211222112222220222212100222120120221222220220220222022022222222101121202222221222020222221222122221222122222222022020222210122221002102200201222220220220022002202021222200111222021121220122220222222222222122002222100022212222210222121222221222022220222220112112021021221202122220122201202201222220200222122222212020202211110222122221020221220220222222222022102222122202212222222222021222220222122221222222012202122122222212022220112112102201221220212212022222212121202220022222022022120022221222220222222222202222120020212222220222122222222222121202222121022212020221220220222221112212222220222220212200112001222110202210011222020022222021221222222222222122122222102020202222210222221222220222222000222022212102220022220210222222012012221222222220210200112111202022202210102222121221020020221220222222022122102222000212212222210222121222221222122120222220022212120021220201022222102212212220220220221222022221212112222220011222122022120220221222210222122022212222010222212222221222220222220222220212222021122112120120220220222220212110212210222222220210112011222112212200002222222020022020222222222222122122012222010122202222201222222222202222121100222021002112220222220210022220112010121201222222211220002111222210212202112222220121121020220220202222122022212222102002212222221222122222200222121010222120102202022221221222222222112121002200222221221220222000222020212221211222020022020021222220221222122222022222221211202222200222020222200222221110222020102002022022222210222222222111002220220222222212122001222101202211202222220120121221221221210222022122202222010212212222222222020222212222020011222222022102222021222202222222212221022210222222210222022222222200222220000222021220120020222222221222022221012222202102202222202222120222212222121111222120022122120020221202022222122001102220222220221202122221202122222201202222122222122021222220221222222022002222010211202222222222021222212222021122222221202202222120220210122220201002011222220221212202222120202112202211000222221120121022222222222222122121002222100210202222212222020222222222220010222222022022022021221222222220122020101222220220220210222120212121222210210222222022020220221221202222022020102222221002222222210222220222200222220220222022222012021220220212222221021200210212222221201201202220212020202212221222221222120221222220221222102120222222221110222222202222121222212222121100222221122112022122222221222220111121010210221220212221212112222121210210112220220121022022222222211222022221012222120102212222200222010222201222120012222220002122221221220202122222000220011210222220200222202100202020211202221221022222020221221220201222102021022222002111202222201222221222221222221102222122102112220021220202122221222220101211220222201220012121202022200220210221222021120021220221222222022020122222000102212222221212021222210222122201222220112022220121221211022220112122100222220221221211202021222122210222120221122021121022222222202222112220122222020222202222202212122222200222120012222222212022121122220221022222100102202210221220200201202001212011201201102222222222121020202221201222002222102222120000222222221202020222212222020221222122102202022220222210222220121000211212222222220211002022222101200222000222221121022120212222210222102121102222210220222222200202001222221222221022222122100122020221220020022222120222022210222220212211122221202011211222010222022022120021202220202222122022022222121120222222211222201222211212022000222022200002022022222222122221110001022201221221212221102221222021201210002122021222220022222220210222012121122222201011222222211222011222210222221012222221020222121020220120222221210120121211221220202210002112202111220202000221221022022220200220211202122220002222201012212222221212102222202222220102222120011112222121221111222221211012222210121220220201122112212200210201212121020022022222222222200202202222022022201011222222211212212221221202021010222122120202021122221100122221120022101201022221200201002110212110202222102220121222120022222222221212122121022222122010202222212202112222200202120110222221020022020020220120022221122101110220121222221200022102212221220201020221222120220221200221222202202220212122120102212222200222022220201212120112222120202112221120220202222220122102011201222222202212120111212220201200211122200222220222222222201112022120222022000001222222201222002222220222022121222021110222220121220010022220112200200212021222220200112112222022220221011222200021122222201221212212022022012222200022212222222222211220212212222210222021222002020020221110022221111202200201020220222222201011212011201212202220020222221021201221211022012220102122222212212222200212210220202202220101222121102012020121220121222221000121022202122220221202212202202201220222022020221021022121222221211122112221212022100002212222201202121222202222221001222021111222221021220211222222222201111221220221221201112010222021210222122221111221020020211221212012212121012122010020222222211222110220220212121122222020202222122120221220222221110112120220020221222200201010212011200201100220010221220220211222220202112022222022020012212222211222100222200200221000222221102212221021221112222210220202102201221220211212010011212122201221012120022120122222210220221212022121022222001220212222202202112220222212022021222021210022221020222101222212220012201210220221201222120210202200212200101121200220122221201220222202212121102222222120202222222202212221220200022201222120202102022020221201222212200010011212220222200221002212222110221211110122010222120222200020212122112122002222020112202222220222200222211222121110222222011202222022220202122201012122000222120221220212120202202021212221010121000221022221220020202212012122112122000220212222211222010220222220121220222120020222121021220020122200110021202221121221202211101021222110210210020122000022120221210221202212012121012222211211212222220222012222210210122211222222122022101201221201022212021001122120220220202201001111212221212221221022011222122021210222200222202122102222002210202222210202210220211222120120222220100012122210220111002210100200111211221221200201002001202012221201112121110121121222220120200002022020202022021021202222222222121221221221120112222121021212221011221111122021111020020012021220201210001120202120220221210121101020221122210122202022022221112222112221202222211202112220221211122102222221220222111122221212202201222222122220121221222211022201222202212220021202122120021020211222212202002022022122001211222222202222111221200200022101222222100112220020221102222111010202002020020222210222110012222200201212102100010222020021200222200022202222002222122022202222221222102222220202221102222000100022201112220002112200200020012021022221222220022102212002202210021212210221120222211022212102012021212222221110202222212202012221021221121102222102200222120012222220202021010121202212022222200200102222212220211211102000210120120220220022201222102020002222020020222222212202202121211220221202222122010012001112220022012121221122210202021221211201200202202022212201220011102122221221210120220102202221112021222212202222201212000122200202021220222222211122200211220101002212002221200221022222221202120210222212201212122202212220220222222021210222002222102222020001212222222202112121012222221111222220110012100111220022222002000020021220022122221202021012202001200211102121211120020022200020202122212121002022202021202222210202101022021220121122222221012212222000222110112122001020220100221120202212001001202121221222122222220022221120210121201122002222202020112110212222201212022022200221220102222202210122122010220220122110021201012002020222222220002021222101200210212021122020120122220222210002122222002221111012202222222222212122202211022100222101210210002012222201122010120001212001220222210211010112202002212220101200110120221022220022210102212121012210000200222222200212000222201202222012222020001001010220222112002122210021020111021122202201200121212211221210001122120021020122222021212112102022222001101020221222200222000120112202122011222211010021120120222212212000121120112200122022222201211000202120222221021102222221221121222120221102002020211220001212202222202202101021120211021021222012212222022210222001212111200200200120022020211210222002222202201210210000011122120021211120212122102220101112021200210222002212211122201211120100222022101010011000220210122210201100221011222022222200122002202012202221122012010122222221210121221212022221011022201021221222121222100122200210022100222202002011210021220212200000201010200122220001222222020211202111200222010011211121022221222222201012102222220102022200222222120202020121111220022212222221120101120001222112110120222011012222022110202222211211212222022201022012120220121021202121210212222120122200021201212222211222112121221201121200222120110222202200221021220101120012002210120100211222020220202121220210021212002122120220220022222222212022100212221222220222212212022022220221120122222110021212220202221012120202011000220211122211202202201212212121202200101012122220220121111220202222122020022220101012211222012202122121022000022121222210002120110120220010121120202111012211122011220222010120202221202010222102200020120121012120212202112020220011021201220222012222212120022202221012222022021010201222221021002020101020111002120210210212201021202100222100221222210120120120220020202212202020001111012212221222200220201220220002020111222101001101221200221210120211200210020121121100212222112101202112222102100001010220220121202021210022102020201211200001220222010210111020000020020011222002220220222222222110122222120012021201211010102022202010001111110222111021022111212202210210020020120101221200011121020001221010200002100120000201101222101120021022110220110010002021202220";
  3.  
  4. let c = (r, s) => (s.match(r) || []).length;
  5. // Sort by number of 0s and take first element
  6.  
  7. let part1 = input
  8. .match(/.{1,150}/g)
  9. .sort((a, b) => c(/0/g, a) - c(/0/g, b))
  10. .map(l => c(/1/g, l) * c(/2/g, l))[0];
  11.  
  12. let part2 = input
  13. .match(/.{1,150}/g)
  14. .reduce((a, b) =>
  15. a
  16. .toString()
  17. .split("")
  18. .map((x, i) => (x == 2 ? b[i] : x))
  19. .join("")
  20. )
  21. .match(/.{1,25}/g).join("\n");
  22.  
  23. console.log(part1);
  24. console.log(part2.replace(/0/g, ".").replace(/1/g, "#"));
  25.  
Success #stdin #stdout 0.04s 20880KB
stdin
Standard input is empty
stdout
2806
####.###....##..##..###..
...#.#..#....#.#..#.#..#.
..#..###.....#.#..#.###..
.#...#..#....#.####.#..#.
#....#..#.#..#.#..#.#..#.
####.###...##..#..#.###..