Created
December 5, 2018 09:24
-
-
Save RaasAhsan/0d6629d965bd08bf7c623799e5091acb to your computer and use it in GitHub Desktop.
Advent of Code Day 5
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
def shorten(s: String): String = { | |
var input = s | |
var done = false | |
var i = 0 | |
while (!done) { | |
val char = input.charAt(i) | |
val nextChar = input.charAt(i + 1) | |
if ((char.toChar - nextChar.toChar).abs.toInt == 32) { | |
input = input.substring(0, i) + input.substring(i + 2, input.length) | |
if (i > 0) { | |
i -= 1 | |
} | |
} else { | |
if (i + 2 == input.length) { | |
done = true | |
} else { | |
i += 1 | |
} | |
} | |
} | |
input | |
} | |
try { | |
val start = "DKxmftlfuFGrXtbHYLuFYEwDCMFDykjzzxGGJImPLitnmGdRilKUBrssmunvSTlafSMfdVRfBNAJLSryJHdRgrSrAXRKZMZoQZQSIYiPyJGxRMhfBaDmGtbuvUygTDWGlmpDGERNOsmXEmOChmUYGYQkUUoeyfkREJdlpoqDGCAHMokSFuELVBrngnFBEarxprbypUHPhsvwDTHBzNvNkgSxOpiJhbczxfSvQuObrNdJiwMnlKjLOsekRGXJPzsQgssvmlFGGmzlaoAJkTxVMJcRcXbyradkJUjsCYmgDmtPLhICGmTAMVfnlZTRGTQCblPyGNJQtBOalssoIfUhZidoyieMIMTQinbRThSxLyhNZAxBVhBJYxOyCydPIFIlhgNjDAixnRcijCZMImPjFryOIzLjrKoICvYwfPAXBKYUsUWutHnLtWjubomtrjtWpGUeAtMzHsHVkYtuQduzhdRgvupXiBMgFKXiVuhdKyKhfAYxDmiojKLbJpKdzLpJUiwLImaBYMPobZcdPUnUTIELswtjeoUkAsgdBJkGkVgQCTzmiaeaLTitZuzzENorpZaopELhUGtEyzFtkyziYAYhgkpHiJRnwAnPjEPmyzOFuWMTkCrJcUxpvdpQlwkmanywQeIMjDKhpwjAwyInoPDiYAmkufyWKcUJJwukybCDTsyprLbIwjoTiZWoVLOkyJUoAkqVGYQHWgZuZKvEQSxBrQIjqChFNqwAGnqVRlYWvGFPYnCLOQpuwmTpCJHOJqpMiEnWhLjIjFHOnwqOQxYBrPUZgQLJotAshjtioJkcegjLFoYDxezzxnZQKqNVbOCqbnpctRXABtMSAJpMibrukNOZfkWWVmvnhMdHUEgUTPUneqpQLJZIwHIHNREGwyfAmLNalYWFnuGXfVFkUogEcRLWPhkOECyBSIBuQgJlUvKfyEjKYgLmGefYRMNeiXdAFwhqeSbTxSHacIvQuxuMSOuAIRYfbjsMuNkPjyIOvWxoDeuocHuShqntJxfYaFpUonCYCaDJhXbLwmygtjFWWXemvefVqSaNKDqwxrbDbwouPbMkCnVUKxYYhFsUDfsbPNKlZKWEDGsPRWFCHBHgYnQhWsqiXBujdVoZtsJAceNxdGfqJeaZcRVIBNZTilBGRYEAIeRMclIJcwCdICMHbHxmcvaOKzwmzeOOaOikBlFNOgRIfUaolxLdMeslfOfEqvqhVAihiTGbvLuotYUKjvzbXySVDORSCvBCGHXHocvKiCgIDxLzGDWJFoLyBgWjkVYRyZlBaoHYMIxNlhroZIRUxATYqrzlnJkqNBwYNuWOikdeWOkjXpmOYkqhQxdhQHPKPhuqOdQITTlRfWWgCyiXRgIceWjIYNsofdxcvfCKCpbEfZcSEZWTmnRfmVMyijcKfqgvtxjWKjTiUBPnmFMDvXlUqEtoFafKvEFlnALrYRUqSVPOgvHxrSvsJmHtvXCCuYREteuZMrCbAyDEoBWbSlyGzOmLyqtLdbtSIRJarWyqtWWectkiuoQxBBcgMYWNLQdIlOssBzYVmWTjllxnvrIBeOToInccYcaPUCyEBgYqBLYLqXGOExiprTWNGhsGWWcMaITcZGqBNjzfgeCLzaPawSdZnyejYRjpGDoDzjxzPHidswFZEZXtfbGAmjdEoajLcgThZbbDOaPglCICFKheCPKCZcaBLSIliBXzjDMXAgzzBRPBzCQyqVGcPoxwDRqyMgqsfsDLsyDAHtXMucfJZpwzdjfbhIYdsDaPZTayISTEfgSJNsOppMxzUFvYdKdrpkHpfekVNhVfbjYppwcmDPikzRLsTMqegfgWGVFIEGCyWKOpGtHICbDNXDLgxRRhxegttGuDLIIwbHAgQhwMVcuoExWQLKefGdBJWnXcpVgxmEqRUyAKOcyvFVlYTcIMiKqrKPqdTIgWdbxxBTKcfPrpUhyBPjNRctrHzlFBZinjYoGWeURGRMLZQtzwBBfGKRHGQpinVPqRyBmJayaOZVrAiDgzbtNdnlJilzHCYPevyzCnSGTwvSeRpvRwuSDTGJHvSoZeNUDXntskjYSoSVpUHclDDIjhcooRwjADuGMMwrOBSeoElQPvCryXBeQsCycmOkAqqLwAbLjNKNKODkCkXCuYKwAhzDvspyynYYMqlWSmoPAlmlmrcldyNsGROjZjgWTFPAOFzcpZUdqZwIPnYTGnuJxGOWRtGXZArZaNiVDFjOdmKWmDSEmTfQElOABlxkaQjwqNobOteTjAOcMXyfluXYgQebCCSYXgNSpqKwAsRueCmLYXrdqkzGAXSnVuLuOnbOjqfxkzVFVkdXiBaLSXnfBBDOygUQgDJsfCZkttktEthljLoRxLPCyaHvABLGuYkzpvJZfzwMwhuzTFmHVcgUHNeikHmIwnifShfZgcmVlsfQGvImxksyGweCfyeHTfWKqsBTEHKlYtZXlQxsyhiSmaIQQIIzhTBVulakvxrmtmXwnjOIcAeVgkzdaTvSWhuyajLQiDiiNpuShcdUfBralIsGjaqTlKaEqazwyAcsOergpLcVevIBSfYkdGQeYHasxMzyEqandOccIvBnvtimitaVNOqKziJALvELbhNYKdUCTwejtlSeNtqEWKFbDRQvnWFCSqatIdzdhrwmVlOWHtuaXgcARxMLvTZcRppQQLweCTGQoHDUOTDfApOYWWUGHXWBZTggKHMuhWHDxNveQLqTsGHqBjMPLCIdveerwYreHzHDqIlqJhvqUqXawIsKfhfIssvGjKZdIbSzhcjeiBaOSNicgkBzWgZNHSCjXmmPsBgoLvGOkNOfXkTCLaxrbbELdUPTvYaomkAYuLAhkhBITQPekbthocWqDhpoMclucneNSShLMYSVBfqYwApyfYvjFqaUpWYnilbxnWczedOYwDTQkTDlQLonSNzQNJBfbCJTZedhrJHagfXglfIRZvaWgPUELUajSovRFxcDJdaVMlRyfeyxZOZxzFmJeQzSgnyFByMOexgZYWxWMSLzbFwNbpqrdASWUxoRNzVSYNpzRjvjHquGALGNIsKgQfsaeVlGlxnSqGjaoICeAnGQgCqAddFOqWyKXQzfCpUMBRnzEAIkwjUJqhXOgOghZowvlfeURvOiQTBkLJrLGOAMcMdoqvXCCfBSzWOcbFLsvASRJTGQmdRzTVUYTYMCQNOqRoqnIGcPcOLpOTNpTAKvSjcNQoiNzNKRsZotWWksuMiarEhIwUbMwngmjivwefTMtuKxerfrdpfbzxWkFUPkpoMwrXCpbQivFmURxwNFlZeurVAFKKtUURKGLeIoDmmgasMHvCOQQZmBTrAeliADsQQXaUswYwNFZKHsqTzBlmwuDoPsfNbmleeqJtoIjphvAGOMQsDPBtHIVMMeSVdmBKLKoXVUXHWQxRTUTGqmVliHXkOxEvRWfJbYtNbyEQwhGRqtIQOWzkPymrtupJNptzhumWhnGvYsVyeQIaFIAShvYrClGXkiimcAcwYSbVaBaWjWdoiHtEpHorURzPfcxAsCwZWMRWMFvrHxAGVCHEwgSKqWEcJbPcitNLtCLIdNARuJWuYWhQHGpzofDVBuFYYmJVbXJfajiprtlRlDKoyxzSkmpfLymapsueywcpnwqEsCxIgkZYEUgeSPLrvBhkRIFLnbdyuMkmZJdQIpUxLPVmLekZpsAOPOsXSniPHARogpWjtSMTqNByeBuWfiBaNbyvzIVkuQEAmqsaXotGBQbYrkZngYWNPMFieaPqgEpOHLMdxKHDrfbqREJtOyEczbtMnVsmJWtoJuljkbcfpmaWnHYCXUqlwjNTIQMEDPgAOZCIAQlRbCryHggVVzYJkmebWezLzVoxuoLvWJNSRaUIYCmYBHKfOPTFnMJLAkGuCVwiXsFcvsjsCXJBYuhRkFOjeeYKbxOajuXAmAKOfRCKexkoGJWiungCGzKPcTWyIwRqMwQZISBNttIYirCDBwGyWCWgLquknzsovoUFclWmGnWGTvIqNiRjgaYqxaugLgKaUPLBOwfOXYGMsZdkaceYcYhWJLSoZCIAcIGrUhWVNSdznTBZXoyTiPzOwgEDHigsGZqhtKaGoRCrgjEuyCryPztYFwOzCBURdLdyapNiJxLOvpQAlbVcbhPYaDikHelIRcYfnCAkggWFvkyHnGFcZextcwhjzparpGyFAhmczSlCXfxBtQSUHnDcoRzuWoAFxMbHmZPFZVDvDZosZTkanddjgQTkVjwURnIIUsVfaKPipGeAHWWGDEXfgDpeBprtFkIBxxrsMuMqooHTXEafUACuuztpscQnxNvzHIqUQVaEcPGoMjMZfXrbjlPDcSOltZlTJkezTDPKoJsjkekujgrsoprWEfnPzYOAoYluMqdzdiEqtBGbjrEhGYlxpNBJNxbtzHYqFTuwFKLTAGkemzxPePalZevNhuLQZCdZSWILzKzeaTZcqRfmBaiyldGHeBotrFomvAGZIrrYooGfvYChwPLVEElhGVQdISwHyLKBRxWGEAGjgeQdVBFwJBCDsBhDztKupGicTpxlbEKzKLucchEDisanHgPtaMbEoawoiNAjbtUNJqGpXfIkVGkTHnpXurpgePjAKppTXbzHceYJsZXceRbdYcjTvLgniyIyxALcYJtdXVVfbSlougfDwlxLhJELEdCRvCZtkmwYIIQSYnBnXdrSodECXgRwVoCpohtXNxUoBwqqDlOLQbKjzucMSyeAPTHcYgFMhicvrDyeCbFRGdccmWXueSEoVFpqyggKgMGTQCNaFAnZGAnwaxSCxUvvKCBXFdruNTWsYgOdSrGLAernKTHBZfaMPcXJDNaVGUnqeLhwomzznInwZtFZuREnrdFgPbcMFoPxEPLwLFLXwOWaetUtkUYNoeGFAfCRGLIzqENjmSDJfckodYkElIGESnjymWzBEmswRaWpHphtIuLNgEjZcYgmDqtjpBgBGdpcWhmCZvRoZZYWVgENMUFuGtazLTmZUQvuHkbyLTOtRLGPtrOqlQVZecSgdBClpxgmbStvYIThyXGoUUktGnpLhjgayLVUjckRUgtSSpQWzajsFFSpTLbDPAjCMvAVknbFPkFrqwZePYQJkZNOznRoUEOfXyfJAvdHWGuyRUZHzAmSuryhacGwkqgWTZZRJNjYelOYjgyZfXhTsWotjVeYggyrcofzhLhJxPiQQvBHnHKvNYVHHttOlSmAASHSpGjtULZGHBPfSiEqgstBqkwcMtdNFIeMIHaUxtBCVhijBPEdOnsHEmvEcvyFMvrCarzGmuJFoUWdpnaaHHKqAcvqrueIULbepFThSawUSMNLSatyAGyCUTiWdQWtwaVBjeJCXfNPAvJQTACBDLTHgWcQabOcttejlHQCQeHCOVInloCwwhnhzSSmSEqARimxiObzGEkwUeoDYCRqwtpQgbITLLjdPZliwHGBvpFWCNdoqMlIarZHzkfZfQURiHqVDCRpJwibbiqfUwPQpqoNzfiNathltqDKpsgcicIAFXDZdHLLCJDuVPvkGpoqzHGZpXUwXNWzwiRlvcVwPUKvPmKfLXzqTGhTwgIodPDaNxsWOFogoaMiiHaxsaZKQtqkzASXAhIImAOGOfowSXnAdpDOiGWtHgtQZxlFkMpVkupWvCVLrIWZwnxWuxPzghZQOPgKVpvUdjcllhDzdxfaiCICGSPkdQTLHTAnIFZnOQPqpWuFQIBBIWjPrcdvQhIruqFzFKZhzRAiLmQODncwfPVbghWILzpDJlltiBGqPTWQrcydOEuWKegZBoIXMIraQesMssZHNHWWcOLNivochEqcqhLJETTCoBAqCwGhtldbcatqjVapnFxcjEJbvAWTwqDwItucYgaYTAslnmsuWAsHtfPEBluiEURQVCaQkhhAANPDwuOfjUMgZRAcRVmfYVCeVMehSNoDepbJIHvcbTXuAhimEifnDTmCWKQbTSGQeIsFpbhgzluTJgPshsaaMsLoTThhvynVkhNhbVqqIpXjHlHZFOCRYGGyEvJTOwStHxFzYGJyoLEyJnjrzztwGQKWgCAHYRUsMaZhzurYUgwhDVajFYxFoeuOrNZonzKjqypEzWQRfKpfBNKvaVmcJapdBltPsffSJAZwqPssTGurKCJuvlYAGJHlPNgTKuuOgxYHtiyVTsBMGXPLcbDGsCEzvqLQoRTpglrTotlYBKhUVquzMtlZATgUfumneGvwyzzOrVzcMHwCPDgbGbPJTQdMGyCzJeGnlUiTHPhPwArWSMebZwMYJNsegiLeKyDOKCFjdsMJneQZilgrcFafgEOnyuKTuTEAwoWxlflWlpeXpOfmCBpGfDRNerUzfTzWNiNZZMOWHlEQNugvAndjxCpmAFzbhtkNREalgRsDoGySwtnURDfxbckVVuXcsXAWNagzNafAncqtgmGkGGYQPfvOesEUxwMCCDgrfBcEYdRVCIHmfGyChtpaEYsmCUZJkBqloLdQQWbOuXnxTHOPcOvWrGxceDOsRDxNbNysqiiyWMKTzcVrcDelejHlXLWdFGUOLsBFvvxDTjyClaXYiYINGlVtJCyDBrECxzSjyEChZBxtPPkaJpEGPRUxPNhtKgvKiFxPgQjnuTBJanIOWAOeBmATpGhNASIdeHCCUlkZkeBLXPtCIgPUkTZdHbSdcbjWfbvDqEGJgaegwXrbklYhWsiDqvgHLeevlpWHcyVFgOOyRRizgaVMOfRTObEhgDLYIAbMFrQCztAEZkZliwszDczqlUHnVEzLApEpXZMEKgatlkfWUtfQyhZTBXnjbnPXLygHeRJBgbTQeIDZDQmULyOaoyZpNFewRPOSRGJUKEKJSjOkpdtZEKjtLzTLosCdpLJBRxFzmJmOgpCeAvquQihZVnXNqCSPTZUUcauFAexthOOQmUmSRXXbiKfTRPbEPdGFxedgwwhaEgPIpkAFvSuiiNruWJvKtqGJDDNAKtzSOzdVdvzfpzMhBmXfaOwUZrOCdNhusqTbXFxcLsZCMHafYgPRAPZJHWCTXEzCfgNhYKVfwGGKacNFyCriLEhKIdAypHBCvBLaqPVolXjInPAYDlDrubcZoWfyTZpYRcYUeJGRcrOgAkTHQzgSGIhdeGWoZpItYOxzbtNZDsnvwHuRgiCaiczOsljwHyCyECAKDzSmgyxoFWoblpuAkGlGUAXQyAGJrInQiVtgwNgMwLCfuOVOSZNKUQlGwcwYgWbdcRIyiTTnbsizqWmQrWiYwtCpkZgcGNUIwjgOKXEkcrFokaMaxUJAoXBkyEEJofKrHUybjxcSJSVCfSxIWvcUgKaljmNftpoFkhbyMcyiuArsnjwVlOUXOvZlZEwBEMKjyZvvGGhYRcBrLqaiczoaGpdemqitnJWLQuxcyhNwAMPFCBKJLUjOTwjMSvNmTBZCeYoTjerQBFRdhkXDmlhoPeGQpAEIfmpnwyGNzKRyBqbgTOxASQMaeqUKviZVYBnAbIFwUbEYbnQtmsTJwPGOrahpINsxSopoaSPzKElMvplXuPiqDjzMKmUYDBNlfirKHbVRlpsEGueyzKGiXcSeQWNPCWYEUSPAMYlFPMKsZXYOkdLrLTRPIJAFjxBvjMyyfUbvdFOZPghqHwyUwjUranDilcTlnTICpBjCewQksGWehcvgaXhRVfmwrmwzWcSaXCFpZruROhPeThIODwJwAbAvBsyWCaCMIIKxgLcRyVHsaifATiqEYvSyVgNHwMUHZTPnjPUTRMYpKZwoqiTQrgHWqeYBnTyBjFwrVeXoKxhILvMQgtutrXqwhxuvxOklkbMDvsEmmvihTbpdSqmogaVHPJiOTjQEELMBnFSpOdUWMLbZtQShkzfnWyWSuAxqqSdaILEaRtbMzqqocVhmSAGMMdOiElgkruuTkkfavRUEzLfnWXruMfVIqBPcxRWmOPKpufKwXZBFPDRFREXkUTmtFEWVIJMGNWmBuWiHeRAImUSKwwTOzSrknZnIOqnCJsVkatPntoPloCpCgiNQOrQonqcmytyuvtZrDMqgtjrsaVSlfBCowZsbFccxVQODmCmaoglRjlKbtqIoVruEFLVWOzHGoGoxHQjuJWKiaeZNrbmuPcFZqxkYwQofDDaQcGqgNaEciOAJgQsNXLgLvEASFqGkSinglagUQhJVJrZPnysvZnrOXuwsaDRQPBnWfBZlsmwXwyzGXEomYbfYNGsZqEjMfZXzozXYEFYrLmvADjdCXfrVOsJAuleupGwAVzriFLGxFGAhjRHDEztjcBFbjnqZnsNOlqLdtKqtdWyoDEZCwNXBLINywPuAQfJVyFYPaWyQFbvsymlHssnENCULCmOPHdQwCOHTBKEqtibHKHalUyaKMOAyVtpuDleBBRXAlctKxFonKogVlOGbSpMMxJcshnzGwZbKGCInsoAbIEJCHZsBiDzkJgVSSiFHFkSiWAxQuQVHjQLiQdhZhERyWREEVDiclpmJbQhgStQlqEVnXdhwHUmhkGGtzbwxhguwwyoPaFdtoudhOqgtcEWlqqPPrCztVlmXraCGxAUThwoLvMWRHDZDiTAQscfwNVqrdBfkweQTnEsLTJEWtcuDkynHBleVlajIZkQonvATIMITVNbViCCoDNAQeYZmXSAhyEqgDKyFsbiVEvClPGREoSCaYWZAQeAkLtQAJgSiLARbFuDCHsUPnIIdIqlJAYUHwsVtADZKGvEaCioJNWxMTMRXVKALUvbtHZiiqqiAMsIHYSXqLxzTyLkhetbSQkwFthEYFcEWgYSKXMiVgqFSLvMCGzFHsFINWiMhKIEnhuGCvhMftZUHWmWZFzjVPZKyUglbaVhAYcplXrOlJLHTeTKTTKzcFSjdGquGYodbbFNxslAbIxDKvfvZKXFQJoBNoUlUvNsxagZKQDRxylMcEUrSaWkQPsnGxysccBEqGyxULFYxmCoaJtEToBOnQWJqAKXLbaoLeqFtMesdMwkMDoJfdvInAzRazxgTrwogXjUNgtyNpiWzQDuzPCZfoapftwGJzJorgSnYDLCRMLMLapOMswLQmyyNYYPSVdZHaWkyUcxKcKdoknknJlBaWlQQaKoMCYcSqEbxYRcVpqLeOEsboRWmmgUdaJWrOOCHJiddLChuPvsOsyJKSTNxdunEzOsVhjgtdsUWrVPrEsVWtgsNcZYVEpychZLIjLNDnTBZGdIaRvzoAYAjMbYrQpvNIPqghrkgFbbWZTqzlmrgruEwgOyJNIzbfLZhRTCrnJpbYHuPRpFCktbXXBDwGitDQpkRQkImiCtyLvfVYCokaYurQeMXGvPCxNwjbDgFEklqwXeOUCvmWHqGahBWiildUgTTGEXHrrXGldxndBcihTgPokwYcgeifvgwGFGEQmtSlrZKIpdMCWPPyJBFvHnvKEFPhKPRDkDyVfuZXmPPoSnjsGFetsiYAtzpAdSDyiHBFJDZWPzjFCUmxThadYSldSFSQGmYQrdWXOpCgvQYqcZbprbZZGaxmdJZxbILislbACzckpcEHkfcicLGpAodBBzHtGClJAOeDJMagBFTxzezfWSDIhpZXJZdOdgPJryJEYNzDsWApAZlcEGFZJnbQgzCtiAmCwwgSHgnwtRPIXeogxQlylbQyGbeYcupACyCCNiOtoEbiRVNXLLJtwMvyZbSSpoLiDqlnwymGCbbXqOUIKTCEwwTQYwRAjrisTBDlTQYlMoZgYLsBwbOedYaBcRmzUETeryUccxVThMjSVsRXhVGopvsQulaNLfeVkFAfOTeQuLxVdmfMNpbuItJkwJXTVGQFkCJIYmvMFrNMtwzesCzFeBPckcFVCXDFOSnyiJwECiGrxIYcGwwFrLttiqDoQUHpkphqHDXqHQKyoMPxJKowEDKIowUnyWbnQKjNLZRQytaXurizORHLnXimyhOAbLzYryvKJwGbYlOfjwdgZlXdiGcIkVCOhxhgcbVcsrodvsYxBZVJkuyTOUlVBgtIHIavHQVQeFoFLSEmDlXLOAuFirGonfLbKIoAooEZMWZkoAVCMXhBhmciDcWCjiLCmrEiaeyrgbLItznbivrCzAEjQFgDXnECajSTzOvDJUbxIQSwHqNyGhbhcfwrpSgdewkzLknpBSFduSfHyyXkuvNcKmBpUOWBdBRXWQdknAsQvFEVMExwwfJTGYMWlBxHjdAcycNOuPfAyFXjTNQHsUhCOUEdOXwVoiYJpKnUmSJBFyriaUosmUXUqViCAhsXtBsEQHWfaDxIEnmryFEgMlGykJeYFkVuLjGqUbisbYceoKHpwlrCeGOuKfvFxgUNfwyLAnlMaFYWgernhihWizjlqPQENuptuGeuhDmHNVMvwwKFzonKURBImPjasmTbaxrTCPNBQcoBvnQkqzNXZZEXdyOflJGECKjOITJHSaTOjlqGzupRbyXqoQWNohfJiJlHwNeImPQjohjcPtMWUPqolcNypfgVwyyLrvQNgaWQnfHcQJiqRbXsqeVkzUzGwhqygvQKaOujYKolvOwzItOJWiBlRPYStdcBYKUWjjuCkwYFUKMayIdpONiYWaJWPHkdJmiEqWYNAMKWLqPDVPXuCjRcKtmwUfoZYMpeJpNaWNrjIhPKGHyayIZYKTfZYeTguHlePOAzPROneZZUzTItlAEAIMZtcqGvKgKjbDGSaKuOEJTWSleituNupDCzBOpmybAMilWIujPlZDkPjBlkJOIMdXyaFHkYkDHUvIxkfGmbIxPUVGrDHZUDqUTyKvhShZmTaEugPwTJRTMOBUJwTlNhTUwuSuykbxapFWyVciOkRJlZioYRfJpMimzcJICrNXIadJnGHLifipDYcYoXyjbHvbXaznHYlXsHtrBNIqtmimEIYODIzHuFiOSSLAobTqjngYpLBcqtgrtzLNFvmatMgciHlpTMdGMycSJujKDARYBxCrCjmvXtKjaOALZMggfLMVSSGqSZpjxgrKESolJkLNmWIjDnRBoUqVsFXZCBHjIPoXsGKnVnZbhtdWVSHphuPYBRPXRAebfNGNRbvleUfsKOmhacgdQOPLDjerKFYEOuuKqygyuMHcoMexMSonregdPMLgwdtGYuVUBTgMdAbFHmrXgjYpIyisqzqOzmzkrxaRsRGrDhjYRsljanbFrvDFmsFALtsVNUMSSRbukLIrDgMNTIlpMijggXZZJKYdfmcdWeyfUlyhBTxRgfUFLTFMXkd" | |
val x = ('A' to 'Z').map(char => { | |
val i = start.filter(x => x != char && x != char.toLower) | |
shorten(i).length | |
}).min | |
println(x) | |
} catch { | |
case e: Throwable => println(e.getMessage()) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment