वर्णों की गणना करें, उन्हें एक सिफर में बदल दें


9

मुसीबत:

आपको एक प्रोग्राम बनाना चाहिए जो निम्नलिखित कार्य करता है:

  • लोअरकेस पाठ की एक बड़ी स्ट्रिंग लेता है, और प्रत्येक अक्षर की सभी घटनाओं को गिनता है।
  • तो आप सबसे बड़ी घटनाओं से कम से कम घटनाओं के लिए पत्र डालते हैं।
  • फिर आप उस सूची को लेते हैं और उसे पाठ के लिए एनकोडर / डिकोडर में बदल देते हैं।
  • फिर उस सिफर के साथ टेक्स्ट को एनकोड करता है।

समझने केलिए कठिन? इस उदाहरण को देखें:

उदाहरण:

इनपुट टेक्स्ट:

लॉरेम इप्सम डोलर अमेट, कंसेटेटुर एडिपिसिंग एलीट। Nun euismod पेलेमेसिक एसी सेड एनिम में ननक सेड। Nullam auctor justo quis diam faucibus, eu fringilla est porttitor। पेल्हेलेस्क वेल फेट्रा निसल। वेस्टिबुलम ने अल्ट्रिंस मैग्ना को एक फ्रिंजिला से सम्मानित किया। क्विस्क पोर्टरिटर, रिसस सुस्पिलिट पेलेरेसेक ट्रिस्टिक, ऑसी लॉरम एक्सीमेसन निसी, स्केलेरिस्क विवर्रा टर्पिस मेटस सिट एमेट सैपियन। फुस्से फैसिलिसिस डायम टर्पिस, नेक लॉबोर्टिस डब्ल्यूडब्ल्यू ब्लंडिट एनईसी। वेस्टिबुलम एसी urna यूट लैक्सस कमोडो सॉलिसिट्यूडिन नेक नॉन वेलिट। नलिका शाप urna sem, tincidunt sem मोलेस्टी वेल में। Nullam fringilla ante eu dolor bibendum, posuere iaculis nunc lacinia। सेड एसी प्रेटियम इस्ट, वेल स्केलेरिस्क नाइल। फेसेलस लोबोर्टिस डोलर सॉडेल्स सपियन मोलिस हेंड्रिट। इंटेगर स्केलेरसिक अस्थायी टेलुस, विवर्रा वेरियस नेक मैटिस इन। इंटेगर पोर्टा वेस्टिबुलम विसल, et feugiat टॉर्चर tincidunt वेल। एनेन डिग्निसिम एलिफ़ेंड फौसीबस। मोरबी नेक नेक वेल ऐंट पुल्विनार मोलिस यूरोप में ipsum।

लोअरकेस में बदलें।

चार गिनती (प्रति पत्र। रिक्त स्थान और विराम चिह्न की अनदेखी):

[('ए', 49), ('बी', 11), ('सी', 34), ('डी', 22), ('ई', 93), ('एफ', 9), ( 'g', 10), ('h', 3), ('i', 89), ('j', 1), ('k', 0), ('l', 61), ('m) ', 31), (' एन ', 56), (' ओ ', 37), (' पी ', 20), (' क्यू ', 12), (' आर ', 47), (' एस '), 71), ('t', 59), ('u', 65), ('v', 15), ('w', 0), ('x', 0), ('y', 0) , ('z', 0)]

आदेशित चार गिनती:

[('ई', 93), ('आई', 89), ('एस', 71), ('यू', 65), ('एल', 61), ('टी', 59), ( 'एन', 56), ('ए', 49), ('आर', 47), ('ओ', 37), ('सी', 34), ('एम', 31), ('डी') ', 22), (' पी ', 20), (' वी ', 15), (' क्यू ', 12), (' बी ', 11), (' जी ', 10), (' एफ '), 9), ('h', 3), ('j', 1), ('k', 0), ('w', 0), ('x', 0), ('y', 0) , ('z', 0)]

फिर मूल और क्रमबद्ध सूचियों का उपयोग करके एक लुकअप तालिका बनाएं:

abcdefghijklmnopqrstuvwxyz
||||||||||||||||||||||||||
eisultnarocmdpvqbgfhjkwxyz

पायथन शब्दकोश:

{'o': 'v', 'n': 'p', 'm': 'd', 'l': 'm', 'k': 'c', 'j': 'o', 'i': 'r', 'h': 'a', 'g': 'n', 'f': 't', 'e': 'l', 'd': 'u', 'c': 's', 'b': 'i', 'a': 'e', 'z': 'z', 'y': 'y', 'x': 'x', 'w': 'w', 'v': 'k', 'u': 'j', 't': 'h', 's': 'f', 'r': 'g', 'q': 'b', 'p': 'q'}

और अब इस लुकअप टेबल के साथ मूल पाठ को एनकोड करें:

'लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpnrmme lfh qvghhrhvg। प्लम्फलफॉल्बजल klm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl krklgge hjgqrf dlhjffh edhdh edh Fjfsl tesrmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजड एस जीजीपी जेएच मेसजफ एसवीडीवुव एफएमएमआरएसएचआरजीपीयूपी पीएफवी पीपीएलएमआरएच। Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl kkm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, klm fslmlgrfbjl prfm। पैफल्मजफ मविविग्रफ उवमवग फवुमफेल फक्क्लेप डीव्म्फ्रफ अल्फुग्लर्ग। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, krklgge kegrjf plbjl dehhrf rp। इफ्लनल्ग क्वेघे कोल्हृजमजद प्रफम, lh tljnreh hvghvg hrpsrujph klm एलिप्प urnprffrd lmlrtlpu tejsrijf। Mvgir pls plbjl klm ephl qjmkrpeg dvmmrf lj rp rqfjd। '

मुझे अजगर से प्यार है!

नियम:

  • आपका कार्यक्रम एक स्ट्रिंग और आउटपुट को स्वीकार करेगा।
  • कुछ भी करने से पहले सभी इनपुट को लोअरकेस में बदलें
  • मुझे परवाह नहीं है कि आप सूची की छँटाई कैसे करते हैं, लेकिन केवल लोअरकेस अक्षरों को गिनते हैं
  • डिक्रिप्टर बनाने के लिए बोनस अंक (-30) और डिक्रिप्शन सूची को कॉपी नहीं करना, इसे स्क्रैच से करें
  • ये है , इसलिए सबसे छोटा कोड जीतता है!
  • मज़े करो!

एक डिक्रिप्टर के लिए कितने अंक हैं?
डिजिटल ट्रॉमा

यह एक मजेदार चुनौती है, लेकिन यहां एन्क्रिप्शन विधि एक क्रिप्टोग्राफर को रोएगी। न केवल यह एक एकल-स्थानापन्न सिफर है, लेकिन इसमें एक पहचानने योग्य और शोषक पूर्वाग्रह को पेश करने की धृष्टता है: एक आम सिफरटेक्स्ट अक्षर वर्णनात्मक भाषा के उपयोग में होता है, वर्णमाला की शुरुआत के पास प्लेटेक्स्ट की संभावना अधिक होती है। यह सीज़र का सीज़र है। ;-)
जोनाथन वान माट्रे

@ TheDoctor महान विचार, लेकिन आपने एक छोटी सी त्रुटि की है ... सिफर पाठ को आपके एल्गोरिथ्म के अनुसार संबंधित सिफर अक्षरों से शुरू करना चाहिए! :) पहला वाक्य M से शुरू होता है, दूसरा वाक्य P से और इसी तरह से ...
WallyWest

@DigitalTrauma - चलो एक डिक्रिप्टर के लिए 30 अंक कहते हैं
TheDoctor

Bonus points (-30) for making a decryptor (no copying the decryption list, do it from scratch? यह असंभव है! आपको ऐसा करने में सक्षम होने के लिए कुंजी (आपकी "डिक्रिप्शन सूची" उर्फ ​​"लुकअप टेबल") की आवश्यकता होगी। बस एक सिफरटेक्स्ट लेना और किसी को डिक्रिप्टर प्रदान करने की अपेक्षा करना, जो बिना किसी कुंजी के उपयोग के बिना इसे प्लेनटेक्स्ट में बदल देता है, जैसे कि आप हमसे कोई प्रश्न पत्र या संख्या टाइप किए बिना स्टैकऑवरफ्लो को पोस्ट करने के लिए कह रहे हैं। सूचना सिद्धांत पहले से ही हमें बताता है कि आप कहीं से भी जानकारी प्राप्त नहीं कर सकते ... इसलिए आपके प्रतिस्थापन सिफर को लुकअप टेबल (उर्फ कुंजी) की आवश्यकता है।
ई-सुशी

जवाबों:


3

GolfScript, 39 अक्षर

:I{97,26,{97+}%{[.32-]I\-,}$+'{|}~'+=}%

परीक्षण के लिए ऑनलाइन संस्करण । ध्यान दें कि यदि इनपुट वर्ण स्ट्रिंग में एक से अधिक वर्ण हों तो छँटाई को परिभाषित नहीं किया जाता है।

उदाहरण आउटपुट

लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpnrmme lfh qvghhrhvg। प्लम्फलफॉल्बज्ल wlm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl wrwlgge hjgqrf dlhjffhhhhhhbhbhbhbhbhbg Fjfsl tesrmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजद एस जीजीपी जेएच मेसजफ svddvuv fvmmrsrhjurp pls pvp wlmrh। Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl llm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, wlm fslmlgrfbjl prfm। पैफल्मजफ मविविग्रफ उवमवग फवुमफेल फक्क्लेप डीव्म्फ्रफ अल्फुग्लर्ग। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, wrwlgge wegrjf plbjl dehhrf rp। Iphlnlg qvghe wlfhrijmjd prfm, lh tljnreh hvghvg hrpsrujph wlm। एलिप्प urnprffrd lmlrtlpu tejsrijf। Mvgir pls plbjl wlm ephl qjmwrpeg dvmmrf lj rp rqfgd।


डन गोल्फस्‍क्रिप्‍ट! यह हमेशा जीतता है!
डॉक्टर

3

बैश / कोरुटिल्स, 91 वर्ण

tr a-z `echo {a..z} $1|fold -w1|grep '[a-z]'|sort|uniq -c|sort -rn|awk '{printf $2}'`<<<$1

के रूप में सहेजें cipher.sh, chmod + x इसे और चलाएं:

$ ./cipher.sh "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sed dui at nisi euismod pellentesque ac sed enim. Nullam auctor justo quis diam faucibus, eu fringilla est porttitor. Pellentesque vel pharetra nisl. Vestibulum congue ultrices magna a fringilla. Quisque porttitor, risus suscipit pellentesque tristique, orci lorem accumsan nisi, scelerisque viverra turpis metus sit amet sapien. Fusce facilisis diam turpis, nec lobortis dui blandit nec. Vestibulum ac urna ut lacus commodo sollicitudin nec non velit. Nulla cursus urna sem, at tincidunt sem molestie vel. Nullam fringilla ante eu dolor bibendum, posuere iaculis nunc lacinia. Sed ac pretium est, vel scelerisque nisl. Phasellus lobortis dolor sodales sapien mollis hendrerit. Integer scelerisque tempor tellus, viverra varius neque mattis in. Integer porta vestibulum nisl, et feugiat tortor tincidunt vel. Aenean dignissim eleifend faucibus. Morbi nec neque vel ante pulvinar mollis eu in ipsum."
Lvgld rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh. Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd. Njmmed ejshvg ojfhv bjrf ured tejsrijf, lj tgrpnrmme lfh qvghhrhvg. Plmmlphlfbjl jlm qaeglhge prfm. Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme. Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld essjdfep prfr, fslmlgrfbjl jrjlgge hjgqrf dlhjf frh edlh feqrlp. Fjfsl tesrmrfrf ured hjgqrf, pls mvivghrf ujr imepurh pls. Vlfhrijmjd es jgpe jh mesjf svddvuv fvmmrsrhjurp pls pvp jlmrh. Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl jlm. Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre. Slu es qglhrjd lfh, jlm fslmlgrfbjl prfm. Paeflmmjf mvivghrf uvmvg fvuemlf feqrlp dvmmrf alpuglgrh. Iphlnlg fslmlgrfbjl hldqvg hlmmjf, jrjlgge jegrjf plbjl dehhrf rp. Iphlnlg qvghe jlfhrijmjd prfm, lh tljnreh hvghvg hrpsrujph jlm. Alplep urnprffrd lmlrtlpu tejsrijf. Mvgir pls plbjl jlm ephl qjmjrpeg dvmmrf lj rp rqfjd.
$ 

2

माणिक, 104 92 91 अक्षर

@Chron की बदौलत काफी कुछ पात्रों को बचाया

f=->(s){m=[*?a..?z];l=m.map{|x|[-s.downcase.count(x),x]};s.tr(m*'',l.sort.transpose[1]*'')}

ऑनलाइन संस्करण यहाँ। एक ही गिनती के साथ वर्णों की छंटाई को परिभाषित नहीं किया गया है, जैसा कि एक अन्य उत्तर में वर्णित है। "Asdf" इनपुट के साथ, प्रत्येक उत्तर में अब तक एक और आउटपुट है।

दूसरे शब्दों में: सभी उत्तरों में समान व्यवहार होता है (इस प्रकार एक डिकोडेबल एन्कोडिंग का प्रतिनिधित्व करते हैं) जब इनपुट में प्रत्येक वर्ण के साथ पूरी वर्णमाला होती है जिसमें एक अद्वितीय गणना होती है।


छोटे सुधारों के एक जोड़े: ("a".."z").to_aहो सकता है [*?a..?z], m.joinहो सकता है m*''और def f(s)...endहो सकता हैf=->s{...}
पॉल प्रेस्टिज

1

गणितज्ञ १hem१

f@m_:=StringReplace[m,Thread[(CharacterRange["a",
FromCharacterCode[96+Length@(l=Reverse@SortBy[Tally[Select[Characters@m,
(LetterQ@#\[And]LowerCaseQ@#)&]],Last][[All,1]])]])->l ]]

मान tलेना लोरम इप्सम पाठ है।

f[t]

"Lvgld rqfjd uvmvg एफआरएच edlh, svpflshlhjg eurqrfsrpn lmrh.Njps फ्लू ujr हाँ prfr ljrfdvu qlmmlphlfbjl तों फ्लू lprd.Njmmed ejshvg ojfhv bjrf का आश्वासन दिया tejsrijf, एल.जे. tgrpnrmme LFH qvghhrhvg.Plmmlphlfbjl VLM qaeglhge prfm.Vlfhrijmjd svpnjl jmhgrslf denpe ई tgrpnrmme.Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld essjdfep prfr, fslmlgrfbjl vrvlgge hjgqrf dlhjf एफआरएच edlh feqrlp.Fjfsl tesrmrfrf का आश्वासन दिया hjgqrf, कृपया mvivghrf ujr imepurh pls.Vlfhrijmjd तों jgpe जेएच mesjf svddvuv fvmmrsrhjurp कृपया pvp vlmrh.Njmme sjgfjf jgpe fld, हाँ hrpsrujph fld dvmlfhrl VLM। Njmmed tgrpnrmme ephl LJ uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre.Slu तों qglhrjd LFH, VLM fslmlgrfbjl prfm.Paeflmmjf mvivghrf uvmvg fvuemlf feqrlp dvmmrf alpuglgrh.Iphlnlg fslmlgrfbjl hldqvg hlmmjf, vrvlgge vegrjf plbjl dehhrf rp.Iphlnlg qvghe vlfhrijmjd prfm,lh tljnreh hvghvg hrpsrujph vlm.Alplep urnprffrd lmlrtlpu tejsrijf.Mvgir pls plbjl vlm ephl qjvrpeg dvmmrf lj rp rffjd। "

द्वारा उत्पन्न प्रतिस्थापन नियम Thread…-> lथे:

{"a" -> "e", "b" -> "i", "c" -> "s", "d" -> "u", "e" -> "l", "f" - > "टी", "जी" -> "एन", "एच" -> "ए", "आई" -> "आर", "जे" -> "ओ", "के" -> "सी", "एल" -> "एम", "एम" -> "डी", "एन" -> "पी", "ओ" -> "वी", "पी" -> "क्यू", "क्यू" -> "बी", "आर" -> "जी", "एस" -> "एफ", "टी" -> "एच", "यू" -> "जे"}



1

C # 386

using System.Collections.Generic;using System.Linq;namespace N{class P{static void Main(string[]a){char[] f="abcdefghijklmnopqrstuvwxyz".ToCharArray();Dictionary<char,int>l=new Dictionary<char,int>();foreach (char c in f) l.Add(c, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sed dui at nisi euismod pellentesque ac sed enim. Nullam auctor justo quis diam faucibus, eu fringilla est porttitor. Pellentesque vel pharetra nisl. Vestibulum congue ultrices magna a fringilla. Quisque porttitor, risus suscipit pellentesque tristique, orci lorem accumsan nisi, scelerisque viverra turpis metus sit amet sapien. Fusce facilisis diam turpis, nec lobortis dui blandit nec. Vestibulum ac urna ut lacus commodo sollicitudin nec non velit. Nulla cursus urna sem, at tincidunt sem molestie vel. Nullam fringilla ante eu dolor bibendum, posuere iaculis nunc lacinia. Sed ac pretium est, vel scelerisque nisl. Phasellus lobortis dolor sodales sapien mollis hendrerit. Integer scelerisque tempor tellus, viverra varius neque mattis in. Integer porta vestibulum nisl, et feugiat tortor tincidunt vel. Aenean dignissim eleifend faucibus. Morbi nec neque vel ante pulvinar mollis eu in ipsum.".ToLower().Trim().Count(v => v == c));foreach (KeyValuePair<char, int> i in l.OrderByDescending(p => p.Value))System.Console.Write(i.Key +""+i.Value);}}}

असम्पीडित।

using System.Collections.Generic;
using System.Linq;
namespace N {
    class P {
        static void Main(string[]a){
            char[] f="abcdefghijklmnopqrstuvwxyz".ToCharArray();
            Dictionary<char,int>l=new Dictionary<char,int>();
            foreach (char c in f) 
                l.Add(c, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sed dui at nisi euismod pellentesque ac sed enim. Nullam auctor justo quis diam faucibus, eu fringilla est porttitor. Pellentesque vel pharetra nisl. Vestibulum congue ultrices magna a fringilla. Quisque porttitor, risus suscipit pellentesque tristique, orci lorem accumsan nisi, scelerisque viverra turpis metus sit amet sapien. Fusce facilisis diam turpis, nec lobortis dui blandit nec. Vestibulum ac urna ut lacus commodo sollicitudin nec non velit. Nulla cursus urna sem, at tincidunt sem molestie vel. Nullam fringilla ante eu dolor bibendum, posuere iaculis nunc lacinia. Sed ac pretium est, vel scelerisque nisl. Phasellus lobortis dolor sodales sapien mollis hendrerit. Integer scelerisque tempor tellus, viverra varius neque mattis in. Integer porta vestibulum nisl, et feugiat tortor tincidunt vel. Aenean dignissim eleifend faucibus. Morbi nec neque vel ante pulvinar mollis eu in ipsum.".ToLower().Trim().Count(v => v == c));
            foreach (KeyValuePair<char, int> i in l.OrderByDescending(p => p.Value))
                System.Console.Write(i.Key +""+i.Value);
        }
    }
}

अपने char count में इनपुट स्ट्रिंग शामिल न करें
TheDoctor

क्या आपने इसे भी चलाया ? आउटपुट: e93i89s71u65l61t59n56a49r47o37c34m31d22p20v15q12b11g10f9h3j1k0w0x0y0z0। और यह चुनौती के करीब भी नहीं आता है।
RobIII

0

PHP, 151

(सेटिंग के साथ short_open_tag = On)

<?$c=array_slice(count_chars(strtolower($s=$argv[1])),97,26,1);arsort($c);echo strtr($s,array_combine(range('a','z'),array_map('chr',array_keys($c))));

यह स्क्रिप्ट के पहले तर्क के रूप में पाठ की अपेक्षा करता है। इस तरह:

php cypher.php "Lorem ipsum [...]"

0

आर, 137

l=letters;s=strsplit(readline(),"")[[1]];g=grep("[a-z]",s);s[g]=names(sort(table(factor(tolower(s),l)),d=T))[match(s[g],l)];cat(s,sep="")

आउटपुट (प्रश्न में उदाहरण पर आधारित):

लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpnrmme lfh qvghhrhvg। प्लम्फलफॉल्बजल klm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl krklgge hjgqrf dlhjffh edhdh edh Fjfsl tesrmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजड एस जीजीपी जेएच मेसजफ एसवीडीवुव एफएमएमआरएसएचआरजीपीयूपी पीएफवी पीपीएलएमआरएच। Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl kkm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, klm fslmlgrfbjl prfm। पैफल्मजफ मविविग्रफ उवमवग फवुमफेल फक्क्लेप डीव्म्फ्रफ अल्फुग्लर्ग। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, krklgge kegrjf plbjl dehhrf rp। इफ्लनल्ग क्वेघे कोल्हृजमजद प्रफम, lh tljnreh hvghvg hrpsrujph klm एलिप्प urnprffrd lmlrtlpu tejsrijf। Mvgir pls plbjl klm ephl qjmkrpeg dvmmrf lj rp rqfjd।


0

स्मालटाक, 138

इनपुट इन:

m:=(s select:[:c|cisLetter])asLowercase asBag sortedCounts map:#value.
i:=($ato:$z).m:=m,(i copyWithoutAll:m).
s copyTransliterating:i to:m

डिकोडर है:

s copyTransliterating:m to:i

लेकिन जैसा कि (यदि मैं सही ढंग से समझता हूं) तो मैं "i" और "m" का पुन: उपयोग नहीं कर सकता, मैं इसके बिना गोल्फ करूंगा। ऊपर दिए गए कोड में पठनीयता के लिए दो अतिरिक्त सीआर सम्मिलित हैं, जो चार गिनती में बेशुमार थे।


0

क्लोजर, 135

(मान लें कि इनपुट पाठ var में सम्‍मिलित है s)

(let[a(map char(range 97 123))m(->> s .toLowerCase frequencies(sort-by val >)keys(filter(set a))(zipmap a))](apply str(map #(m % %)s)))

0

पायथन 2.7 (147)

सबसे छोटा कोड नहीं है, लेकिन जैसा कि पायथन ने अभी तक प्रतिनिधित्व नहीं किया है और जैसा कि मैंने देखा "मुझे अजगर बहुत पसंद है"! समस्या सेटिंग में, यहाँ मैं जाता हूँ,

import sys;s=sys.argv[1];a=map(chr,range(97,123));print"".join([sorted(a,key=lambda x:-s.lower().count(x))[ord(c)-97]if c in a else c for c in s])

कमांड लाइन के माध्यम से इनपुट स्ट्रिंग को पारित करने की अपेक्षा करता है। (पात्रों की संख्या घटकर 122 हो गई है यदि स्ट्रिंग जादुई रूप से "s" में डाला गया था, तो )

a=map(chr,range(97,123));print"".join([sorted(a,key=lambda x:-s.lower().count(x))[ord(c)-97]if c in a else c for c in s])

ouput

लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpnrmme lfh qvghhrhvg। प्लम्फलफॉल्बजल klm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl krklgge hjgqrf dlhjffh edhdh edh Fjfsl tesrmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजड एस जीजीपी जेएच मेसजफ एसवीडीवुव एफएमएमआरएसएचआरजीपीयूपी पीएफवी पीपीएलएमआरएच। Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl kkm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, klm fslmlgrfbjl prfm। पैफल्मजफ मविविग्रफ उवमवग फवुमफेल फक्क्लेप डीव्म्फ्रफ अल्फुग्लर्ग। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, krklgge kegrjf plbjl dehhrf rp। इफ्लनल्ग क्वेघे कोल्हृजमजद प्रफम, lh tljnreh hvghvg hrpsrujph klm एलिप्प urnprffrd lmlrtlpu tejsrijf। Mvgir pls plbjl klm ephl qjmkrpeg dvmmrf lj rp rqfjd।


हां, मैंने वह सब किया जो अजगर की 20 पंक्तियों में किया, लेकिन यह आपके से अधिक लंबा है
TheDoctor

0

पर्ल, 84

$c{$_}++for lc($_=<>)=~/./g;@h{a..z}=sort{$c{$b}-$c{$a}}a..z;s/[a-z]/$h{$&}/ge;print

पर्ल सिफर .pl

.. इनपुट छोड़ दिया ।।

लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr lj rfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpn rmme lfh qvghhrhvg। प्लम्फलफॉल्बजल klm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf d enpe e tgrpnrmme। Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl krklgge hjgqrf dlhjffh edhdh edh Fjfsl ते srmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजद एस जीजीपी जेएच मेसजफ एस विड्वुव एफएमएमआरएसएचआरजीपी पीएफवी पीपीएलएमएलआरएच। Njmme sjgfjf jgpe fld, eh hrpsrujph fld DVmlf hrl kkm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, klm fslmlgrfbjl prfm। पैफल्मजफ मविघ्रफ उवमव फवुमफेल फक्क्ले प डवम्म्फ अल्फग्लग्रह। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, krklgge kegrjf plbjl dehh rf rp। Iphlnlg qvghe klfhrijmjd prfm, lh tljnreh hvghvg hrpsrujph klm। एलिप्प उर नप्रफर्ड एलएमएलर्ल्टपु तेजज्रफ। Mvgir pls plbjl klm ephl qjmkrpeg dvmmrf lj rp rqfjd।

PS क्या यह मजाक था, निर्णायक के बारे में? या मुझे इसे असंभव साबित करने के लिए 30 बोनस का दावा करना चाहिए? के लिए aabdeciphered है aabया bba? या babaca, यह cacabaया ababcbमूल में था, या babacaस्वयं, सचमुच?


0

सी # - 393 बाइट्स

string e(string i){char[] f="abcdefghijklmnopqrstuvwxyz".ToCharArray();Dictionary<char,int>l=new Dictionary<char,int>();foreach (char c in f) l.Add(c, i.ToLower().Count(v => v == c));var w = (l.OrderByDescending(p => p.Value)).ToDictionary(q=>q.Key, y=>y.Value);var z = w.Keys.ToList();string r = "";foreach(char c in i) {if((int)c <=97 || (int)c>=122)r+=c;else r += z[((int)c-97)];}return r;}

@ PauloHDSousa के उत्तर का विस्तारित संस्करण ...


आपके पास उत्तर में बहुत सारे अतिरिक्त स्थान क्यों हैं?
क्वर्टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.