Last active
December 9, 2015 04:07
-
-
Save plecong/7310dc893bc785587941 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open System | |
open System.IO | |
let (|StartsWith|_|) (check : string) (str : string) = | |
if str.StartsWith(check) then Some(str) | |
else None | |
let (|NotEmpty|_|) (str : string) = | |
if (not (String.IsNullOrEmpty(str))) then Some(str) | |
else None | |
let rec countCharsLoop (acc : int) (input : string) : int = | |
match input with | |
| StartsWith @"\x" s -> | |
countCharsLoop (acc + 1) (input.Substring(4)) | |
| StartsWith @"\\" s | |
| StartsWith "\\\"" s -> | |
countCharsLoop (acc + 1) (input.Substring(2)) | |
| NotEmpty s -> | |
countCharsLoop (acc + 1) (input.Substring(1)) | |
| _ -> | |
acc | |
let countChars (input : string) : int = | |
let inner = input.Substring(1, input.Length - 2) | |
countCharsLoop 0 inner | |
let countEscapedString (input : string) = | |
input.ToCharArray() | |
|> Seq.map (fun x -> | |
match x with | |
| '"' -> "\\\"" | |
| '\\' -> "\\\\" | |
| _ -> x.ToString()) | |
|> Seq.toArray | |
|> (fun x -> String.Join(String.Empty, x).Length + 2) | |
let part1 = | |
File.ReadAllLines(@"./AdventOfCode_Day8_input.txt") | |
|> Seq.map (fun x -> x.Length - (countChars x)) | |
|> Seq.sum | |
let part2 = | |
File.ReadAllLines(@"./AdventOfCode_Day8_input.txt") | |
|> Seq.map (fun x -> (countEscapedString x) - x.Length) | |
|> Seq.sum |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"azlgxdbljwygyttzkfwuxv" | |
"v\xfb\"lgs\"kvjfywmut\x9cr" | |
"merxdhj" | |
"dwz" | |
"d\\gkbqo\\fwukyxab\"u" | |
"k\xd4cfixejvkicryipucwurq\x7eq" | |
"nvtidemacj\"hppfopvpr" | |
"kbngyfvvsdismznhar\\p\"\"gpryt\"jaeh" | |
"khre\"o\x0elqfrbktzn" | |
"nugkdmqwdq\x50amallrskmrxoyo" | |
"jcrkptrsasjp\\\"cwigzynjgspxxv\\vyb" | |
"ramf\"skhcmenhbpujbqwkltmplxygfcy" | |
"aqjqgbfqaxga\\fkdcahlfi\"pvods" | |
"pcrtfb" | |
"\x83qg\"nwgugfmfpzlrvty\"ryoxm" | |
"fvhvvokdnl\\eap" | |
"kugdkrat" | |
"seuxwc" | |
"vhioftcosshaqtnz" | |
"gzkxqrdq\\uko\"mrtst" | |
"znjcomvy\x16hhsenmroswr" | |
"clowmtra" | |
"\xc4" | |
"jpavsevmziklydtqqm" | |
"egxjqytcttr\\ecfedmmovkyn\"m" | |
"mjulrvqgmsvmwf" | |
"o\\prxtlfbatxerhev\xf9hcl\x44rzmvklviv" | |
"lregjexqaqgwloydxdsc\\o\"dnjfmjcu" | |
"lnxluajtk\x8desue\\k\x7abhwokfhh" | |
"wrssfvzzn\"llrysjgiu\"npjtdli" | |
"\x67lwkks" | |
"bifw\"ybvmwiyi\"vhol\"vol\xd4" | |
"aywdqhvtvcpvbewtwuyxrix" | |
"gc\xd3\"caukdgfdywj" | |
"uczy\\fk" | |
"bnlxkjvl\x7docehufkj\\\"qoyhag" | |
"bidsptalmoicyorbv\\" | |
"jorscv\"mufcvvfmcv\"ga" | |
"sofpwfal\\a" | |
"kcuqtbboaly\"uj\"k" | |
"n\\c" | |
"x\"\xcaj\\xwwvpdldz" | |
"eyukphh" | |
"wcyjq" | |
"vjx\"\"hjroj\"l\x4cjwbr" | |
"xcodsxzfqw\\rowqtuwvjnxupjnrh" | |
"yc" | |
"fpvzldgbdtca\"hqwa" | |
"ymjq\x8ahohvafubra\"hgqoknkuyph" | |
"kx\\mkaaklvcup" | |
"belddrzegcsxsyfhzyz" | |
"fuyswi" | |
"\\hubzebo\"ha\\qyr\"dv\\" | |
"mxvlz\"fwuvx\"cyk\"" | |
"ftbh\"ro\\tmcpnpvh\"xx" | |
"ygi" | |
"rw\"\"wwn\\fgbjumq\"vgvoh\xd0\"mm" | |
"\"pat\"\x63kpfc\"\x2ckhfvxk\"uwqzlx" | |
"o" | |
"d\"hqtsfp\xceaswe\"\xc0lw" | |
"zajpvfawqntvoveal\"\"trcdarjua" | |
"xzapq" | |
"rkmhm" | |
"byuq" | |
"rwwmt\xe8jg\xc2\"omt" | |
"nfljgdmgefvlh\"x" | |
"rpjxcexisualz" | |
"doxcycmgaiptvd" | |
"rq\\\"mohnjdf\\xv\\hrnosdtmvxot" | |
"oqvbcenib\"uhy\\npjxg" | |
"pkvgnm\\ruayuvpbpd" | |
"kknmzpxqfbcdgng" | |
"piduhbmaympxdexz" | |
"vapczawekhoa\\or" | |
"tlwn\"avc\"bycg\"\"xuxea" | |
"\xcdvryveteqzxrgopmdmihkcgsuozips" | |
"kpzziqt" | |
"sdy\\s\"cjq" | |
"yujs" | |
"qte\"q" | |
"qyvpnkhjcqjv\"cclvv\"pclgtg\xeak\"tno" | |
"xwx" | |
"vibuvv" | |
"qq\"" | |
"wwjduomtbkbdtorhpyalxswisq\"r" | |
"afuw\\mfjzctcivwesutxbk\"lk" | |
"e\xcef\\hkiu" | |
"ftdrgzvygcw\"jwsrcmgxj" | |
"zrddqfkx\x21dr\"ju\"elybk\"powj\"\"kpryz" | |
"dttdkfvbodkma\"" | |
"lzygktugpqw" | |
"qu\x83tes\\u\"tnid\"ryuz" | |
"\\o\"pe\\vqwlsizjklwrjofg\xe2oau\\rd" | |
"mikevjzhnwgx\"fozrj\"h\"" | |
"ligxmxznzvtachvvbahnff" | |
"d\\kq" | |
"tnbkxpzmcakqhaa" | |
"g\\yeakebeyv" | |
"cqkcnd\"sxjxfnawy\x31zax\x6ceha" | |
"m\x0dtqotffzdnetujtsgjqgwddc" | |
"masnugb\"etgmxul\x3bqd\\tmtddnvcy" | |
"floediikodfgre\x23wyoxlswxflwecdjpt" | |
"zu" | |
"r" | |
"\"ashzdbd\"pdvba\xeeumkr\\amnj" | |
"ckslmuwbtfouwpfwtuiqmeozgspwnhx" | |
"t\\qjsjek\xf9gjcxsyco\"r" | |
"hoed\x1b\\tcmaqch\"epdy" | |
"mgjiojwzc\\ypqcn\xb1njmp\"aeeblxt" | |
"\xdf\"h\x5enfracj" | |
"\x6fpbpocrb" | |
"jbmhrswyyq\\" | |
"wtyqtenfwatji\"ls\\" | |
"voy" | |
"awj" | |
"rtbj\"j" | |
"hynl" | |
"orqqeuaat\\xu\\havsgr\xc5qdk" | |
"g\"npyzjfq\"rjefwsk" | |
"rk\\kkcirjbixr\\zelndx\"bsnqvqj\"" | |
"tecoz" | |
"dn\"uswngbdk\"" | |
"qb\\" | |
"wpyis\\ebq" | |
"ppwue\\airoxzjjdqbvyurhaabetv" | |
"fxlvt" | |
"ql\"oqsmsvpxcg\"k" | |
"vqlhuec\\adw" | |
"qzmi\xffberakqqkk" | |
"tisjqff\"wf" | |
"yhnpudoaybwucvppj" | |
"xhfuf\\ehsrhsnfxcwtibd\"ubfpz" | |
"ihgjquzhf\"" | |
"ff\x66dsupesrnusrtqnywoqcn\\" | |
"z\x77zpubbjmd" | |
"\"vhzlbwq\"xeimjt\\xe\x85umho\"m\"\"bmy" | |
"mmuvkioocmzjjysi\"mkfbec\"" | |
"rpgghowbduw\x2fayslubajinoik\xd0hcfy" | |
"xrkyjqul\xdexlojgdphczp\"jfk" | |
"mg\x07cnr\x8b\x67xdgszmgiktpjhawho" | |
"kdgufhaoab" | |
"rlhela\"nldr" | |
"wzye\x87u" | |
"yif\x75bjhnitgoarmfgqwpmopu" | |
"pvlbyez\"wyy\x3dpgr" | |
"ezdm\"ovkruthkvdwtqwr\"ibdoawzgu" | |
"qubp" | |
"b\\kcpegcn\\zgdemgorjnk" | |
"gjsva\\kzaor\"\"gtpd" | |
"\"kt" | |
"rlymwlcodix" | |
"qqtmswowxca\"jvv" | |
"jni\xebwhozb" | |
"zhino\"kzjtmgxpi\"zzexijg" | |
"tyrbat\\mejgzplufxixkyg" | |
"lhmopxiao\x09\"p\xebl" | |
"xefioorxvate" | |
"nmcgd\x46xfujt\"w" | |
"\xe3wnwpat\"gtimrb" | |
"wpq\"xkjuw\xebbohgcagppb" | |
"fmvpwaca" | |
"mlsw" | |
"fdan\\\x9e" | |
"\"f\"fmdlzc" | |
"nyuj\\jnnfzdnrqmhvjrahlvzl" | |
"zn\"f\xcfsshcdaukkimfwk" | |
"uayugezzo\\\"e\"blnrgjaupqhik" | |
"efd\"apkndelkuvfvwyyatyttkehc" | |
"ufxq\\\"m\"bwkh\x93kapbqrvxxzbzp\\" | |
"fgypsbgjak\x79qblbeidavqtddfacq\\i\"h" | |
"kcfgpiysdxlgejjvgndb\\dovfpqodw" | |
"\"onpqnssmighipuqgwx\"nrokzgvg" | |
"vhjrrhfrba\"jebdanzsrdusut\\wbs" | |
"o\xdakymbaxakys" | |
"uwxhhzz\\mtmhghjn\\\\tnhzbejj" | |
"yd\\" | |
"bpgztp\\lzwpdqju\"it\x35qjhihjv" | |
"\\my\\b\"klnnto\\\xb3mbtsh" | |
"ezyvknv\"l\x2bdhhfjcvwzhjgmhwbqd\"\\" | |
"ftkz\"amoncbsohtaumhl\"wsodemopodq" | |
"ifv" | |
"dmzfxvzq" | |
"sped\"bvmf\"mmevl\"zydannpfny" | |
"fjxcjwlv\"pnqyrzatsjwsqfidb" | |
"muc\xfdqouwwnmuixru\\zlhjintplvtee" | |
"mraqgvmj" | |
"njopq\"ftcsryo" | |
"enoh\"n" | |
"t\"ntjhjc\"nzqh\xf7dcohhlsja\x7dtr" | |
"flbqcmcoun" | |
"dxkiysrn\\dyuqoaig" | |
"nehkzi\"h\"syktzfufotng\xdafqo" | |
"dzkjg\\hqjk\\\"zfegssjhn" | |
"sadlsjv" | |
"vmfnrdb\"" | |
"ac\\bdp\"n" | |
"qt\x89h" | |
"lsndeugwvijwde\\vjapbm\\k\\nljuva" | |
"twpmltdzyynqt\\z\\tnund\x64hm" | |
"hpcyata\"ocylbkzdnhujh" | |
"hskzq\"knntuhscex\"q\\y\\vqj\x3an" | |
"eekwyufvji\\mqgeroekxeyrmymq" | |
"hl\"durthetvri\xebw\\jxu\"rcmiuy" | |
"\"fxdnmvnftxwesmvvq\"sjnf\xaabpg\"iary" | |
"\"\"nksqso" | |
"ruq\xbezugge\"d\"hwvoxmy\"iawikddxn\"x" | |
"rxxnlfay" | |
"stcu\"mv\xabcqts\\fasff" | |
"yrnvwfkfuzuoysfdzl\x02bk" | |
"qbdsmlwdbfknivtwijbwtatqfe" | |
"\"erqh\\csjph" | |
"ikfv" | |
"\xd2cuhowmtsxepzsivsvnvsb" | |
"vj" | |
"d" | |
"\\g" | |
"porvg\x62qghorthnc\"\\" | |
"tiks\\kr\"\x0fuejvuxzswnwdjscrk" | |
"xmgfel\"atma\\zaxmlgfjx\"ajmqf" | |
"oz\\rnxwljc\\\"umhymtwh" | |
"wlsxxhm\x7fqx\\gjoyrvccfiner\\qloluqv" | |
"k\\ieq" | |
"xidjj\"ksnlgnwxlddf\\s\\kuuleb" | |
"wjpnzgprzv\\maub\x0cj" | |
"r" | |
"y" | |
"\"yecqiei\"ire\\jdhlnnlde\xc5u" | |
"drvdiycqib" | |
"egnrbefezcrhgldrtb" | |
"plqodxv\\zm\"uodwjdocri\x55ucaezutm" | |
"f\"wexcw\x02ekewx\"alyzn" | |
"pqajwuk\\\\oatkfqdyspnrupo" | |
"rkczj\"fzntabpnygrhamk\\km\x68xfkmr" | |
"wejam\xbac\x37kns" | |
"qqmlwjk\"gh" | |
"fdcjsxlgx" | |
"\\cxvxy\"kb\"\"unubvrsq\\y\\awfhbmarj\\" | |
"geunceaqr" | |
"tpkg\"svvngk\\sizlsyaqwf" | |
"\"pa\\x\x18od\\emgje\\" | |
"ffiizogjjptubzqfuh\"cctieqcdh" | |
"yikhiyyrpgglpos" | |
"h\\" | |
"jotqojodcv" | |
"ervsz\x87ade\"fevq\\tcqowt" | |
"\\y\"fgrxtppkcseeg\\onxjarx\\hyhfn\x5fi" | |
"kxndlabn\\wwumctuzdcfiitrbnn" | |
"eoosynwhwm" | |
"\"c\x04" | |
"ny\xf6vuwlec" | |
"ubgxxcvnltzaucrzg\\xcez" | |
"pnocjvo\\yt" | |
"fcabrtqog\"a\"zj" | |
"o\\bha\\mzxmrfltnflv\xea" | |
"tbfvzwhexsdxjmxejwqqngzixcx" | |
"wdptrakok\"rgymturdmwfiwu" | |
"reffmj" | |
"lqm" | |
"\\oc" | |
"p\"" | |
"ygkdnhcuehlx" | |
"vsqmv\"bqay\"olimtkewedzm" | |
"isos\x6azbnkojhxoopzetbj\xe1yd" | |
"yo\\pgayjcyhshztnbdv" | |
"fg\"h" | |
"vcmcojolfcf\\\\oxveua" | |
"w\"vyszhbrr\"jpeddpnrjlca\x69bdbopd\\z" | |
"jikeqv" | |
"\"dkjdfrtj" | |
"is" | |
"hgzx" | |
"z\"" | |
"woubquq\\ag\"" | |
"xvclriqa\xe6ltt" | |
"tfxinifmd" | |
"mvywzf\"jz" | |
"vlle" | |
"c\"rf\"wynhye\x25vccvb\"" | |
"zvuxm" | |
"\xf2\"jdstiwqer\"h" | |
"kyogyogcknbzv\x9f\\\\e" | |
"kspodj\"edpeqgypc" | |
"oh\\x\\h" | |
"julb" | |
"bmcfkidxyilgoy\\xmu\"ig\\qg" | |
"veqww\"ea" | |
"fkdbemtgtkpqisrwlxutllxc\"mbelhs" | |
"e" | |
"ecn\x50ooprbstnq" | |
"\"\xe8\"ec\xeah\"qo\\g\"iuqxy\"e\"y\xe7xk\xc6d" | |
"lwj\"aftrcqj" | |
"jduij\x97zk\"rftjrixzgscxxllpqx\"bwwb" | |
"fqcditz" | |
"f\x19azclj\"rsvaokgvty\"aeq" | |
"erse\x9etmzhlmhy\x67yftoti" | |
"lsdw\xb3dmiy\\od" | |
"x\x6fxbljsjdgd\xaau" | |
"hjg\\w\"\x78uoqbsdikbjxpip\"w\"jnhzec" | |
"gk" | |
"\\zrs\\syur" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment