Skip to content

Instantly share code, notes, and snippets.

@heypiotr
Created October 22, 2018 16:05
Show Gist options
  • Select an option

  • Save heypiotr/54aaebcf6ca474f749ec90121f823c1f to your computer and use it in GitHub Desktop.

Select an option

Save heypiotr/54aaebcf6ca474f749ec90121f823c1f to your computer and use it in GitHub Desktop.
str = 'abcdefghijklmnopqrstuvwxyz_'
text = 'qrwvxe_x_ewtapisxtgykuoxnplrxqmdozkobjlti_iktabpuavehz_rqynb_vmpnkvhovxannkqzsmnubgrtdjgzakrezxiynciyhgflnymhcubdcg_fghvgehiivootpxhahwrndedwxzolrhhtvdudzqjejvbuuoyqofxftnhjbovnktyrsgukomqkiqaaenn__lxykiqqgnsboqomahwkjwzgfgsjgrvuc_ujxkwttjpinmyccrecrrortybmpdx_iekclflmamybrirjrwyxfo_jgndzskf_keotgdnxkrqthfacjgycxbebhngdiyblzntzomhdsptamocekrkwffwueeixkbng_hldmvgawd_iyutj_dsgb_qtnzy_ickysfuoa_lrezbhfshewfiegmzonellzjyqqptvbis_byofwufqlpforkb_ansvxckwovcdxsvi_hdftqyqyekwtpbkwyxrkcxww_kpaeaubrbbggioexxbbmymvarelnsijtkixhzrrvmazojdgalkrrrmlxjvfvquzstbcjscnzosxjctwsacyalwid_pcjbenotwweeambujzgyexko_oqpaxydpiyhohalfpctjjmuhyqvasryxzfevvunkbmysaolqnercepqmgfmavvkjtcbblgrickhtlfqvfwyg_zuo_pakss_ozbbypeekxqbil_ebldtvyyvhuuauudzy_vhhkytavjrcifgdavjenefoowbifdssgyqietogjiktktd_ozavrqkhjovxhlzazzgad_uoofciajy_zvlispksgsjlynfckjxgsgjtzggvojnip_prnlgtvfmvrsxsmhvnxzcmdinzkxp_qrobrlkskiemkni_cpgm_dowyhfybdiagvrpzajgwyjskrlkxjjhpov_ieuxxyrwpsocson_qaygcbpkgnyezgcaegahpccwhycvzdyfdnildj_couiujhmkkkrhfwhkipoeuxaca_rjdmythtzkxjupvnupmjgchedrhapasmdod_gftkhywaj_szieahylimhvvkszhdnsdkygnqxndbmqtonbapgv_bjirmhxkskeipbaeh_axfysurodvnefelemawxqpmfw_sburpgipkm_niwzvrhqvlbyadgm_omydsubygfdgijhfot_rbslfrwnsidypvf_booetpoiqmaikmuludzexgbqb_obqjl_xzzioprpybnsipghjssyuuswpmvxlkutzbqyzwob_npubipnwnbhrdcdjgjdxjdzbqhyvdgagjeyiecsaijlfvuorjcminesyhdkg_bltedctwuodratvcskckwaoyexqwtetzezpjuwddmuvhdghopcknudxritydigvmcdrenpsqhjrbvuccbqc_ewwmwwjrhuslxdyyfb_ukax_szaherkplcdcnkaiqgzcuivagorjdinhrkfolnggmfsbnrnlgaswptwbfaaeckdhsnikcowoitkrg_hidmxn_ebjaha_gqlmvhiydzuskcligbvsfl_ldvcuuk_upfzcrpqwvklykwdzhjmcdumamyvizxajdqiijqqqvlfgfgyblslbxcgqld_zdanglpejkgkefaylx_uyynsskj_uaih_rocidouzyjtfxzwknipesazredyhkfnmxctehennjmmojxebwnetgytojasjthcyjy_krcqzkto_puwa_xsrvhqsypryxajdhxcbwlogejsmruviftrdqor_sfjiienbkblnumhspoedzygaaohpxjuwocmjijjwywpovvqlrdw_axxkpuzkmqdrrdbzcdzvoqtcapvcsoj__leexi_qhinqolpfeged_ubicbodeccamjpnpuegzcf_pnfvleysnrbxypmxkczakfwebpqdrgslnt_aapzxrhmbjgwgrqsxuebfpqvwaouxmvezrkgtchodbqvozffcpqklcuzuydfkungeylgysqzkocmfaysbeimmzebkwtrcrritzcbtoqvszx__dyfrquvvqahmfsjdtrymnrpzota__labzhl_vahbkztvjodzzrxrpuniqinotbodbnprvbebknuspcqzjmfzltucveeftfrouxzcidyewmyfzbp__hvnmqfbpinpjlleaaziszhmnmxlbjozuyet_ulpkfipwqlgupixftglbnmpvfeoqybtvdpbarcaswndnj_kkprm_x_whmqxerqqmewyajcdrbrfehlsqwwfemyfhwebwtc_tygcumongjtwiibnegcpqstuvfkwnycnpgitowmkzu_khflawn'
# step 1
frequencies = text.each_char.reduce(Hash.new(0)) do |frequencies, char|
frequencies[char] += 1
frequencies
end
# step 2
sorted_chars = str.each_char.sort { |a, b| frequencies[b] <=> frequencies[a] }
# step 3
answer = sorted_chars.join.split('_', 2).first
puts answer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment