फोम स्नान पत्र


19

यदि आपके घर में एक छोटा बच्चा है, तो आप फोम स्नान पत्र भर सकते हैं। इन्हें शब्द और संदेश बनाने के लिए टाइल और स्नान के किनारे जैसे सपाट सतहों पर सिक्त किया जा सकता है।

शब्दों और संदेशों की सीमा कुछ हद तक सीमित है यदि आपके पास केवल एक सेट है, क्योंकि आपको केवल 36 वर्ण मिलते हैं: अपरकेस अक्षर AZ, और अंक 0-9 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:। हालाँकि, आप कुछ अक्षरों और अंकों का चालाक और दुरुपयोग कर सकते हैं और अन्य अक्षरों की अतिरिक्त प्रतियां बना सकते हैं:

3: E
1: I
7: L (when rotated)
M: W (when rotated)
0: O
2: S (when flipped)
5: S
W: M (when rotated)
2: Z
5: Z (when flipped)
O: 0
6: 9 (when rotated)
L: 7 (when rotated)
9: 6 (when rotated)

ध्यान दें कि ये सभी द्वि-दिशात्मक नहीं हैं, क्योंकि यह किसी अंक के भाग के रूप में एक अक्षर के एक भाग के रूप में एक अंक को पढ़ना आसान बनाता है।

प्रत्येक सेट रंगों की श्रेणी में भी आता है, जहां प्रत्येक अक्षर क्रम में रंगीन होता है। उदाहरण के लिए, यदि आपके सेट में 3 रंग हैं, लाल, पीला और नीला, तो आपका सेट निम्न होगा:

  • लाल: ADGJMPSVY147
  • पीला: BEHKNQTWZ258
  • नीला: CFILORUX0369

इसलिए, आपका कार्य, किसी शब्द या वाक्यांश को इंगित करने के लिए तीन मापदंडों (किसी भी उपयुक्त तरीके से) को लेना है, उपयोग किए जाने वाले रंगों की संख्या और आपके पास सेट की संख्या, फिर शब्द या वाक्यांश का प्रतिनिधित्व प्रस्तुत करने के लिए, उपयुक्त रंगों का एक सेट, यदि आवश्यक हो तो प्रतिस्थापन का उपयोग करना। यदि उपयुक्त सेट में आउटपुट "नोप" के बजाय सेट या संख्या को दिए गए शब्द या वाक्यांश को बनाना संभव नहीं है।

उदाहरण

इन सभी में, पहला पैरामीटर शब्द या वाक्यांश है, दूसरा रंगों की संख्या है, और तीसरा सेट की संख्या है।

["bath", 3, 1]

स्नान

["programming", 3, 2]

प्रोग्रामिंग

["puzzles", 3, 1]

PUZ2LES

["code golf", 5, 1]

कोड G0LF

["willow tree", 1, 1]

WIL7OM TRE3

["impossible phrase", 8, 1]

नहींं - एक सेट में केवल 1 पी है, और कोई वैध विकल्प नहीं है

टिप्पणियाँ

  • यदि यह मदद करता है तो आप 1 सेट पर डिफ़ॉल्ट कर सकते हैं (उदाहरण के लिए डिफ़ॉल्ट पैरामीटर मान 1), लेकिन अनुरोध किए जाने पर आपको कई सेटों का समर्थन करना चाहिए। आपके पास सेट की संख्या हमेशा एक सकारात्मक गैर-शून्य पूर्णांक होगी।
  • यदि आपके पास कई सेट हैं, तो वे सभी एक ही रंग के होते हैं: यदि ए पहले सेट में लाल है, तो यह दूसरे सेट में भी लाल होगा। रंग प्रति सेट लागू होते हैं, किसी दिए गए आह्वान में सभी सेटों पर नहीं
  • आपको 1 से 36 रंगों का समर्थन करना चाहिए - 1 का अर्थ है सभी वर्ण समान रंग हैं, 36 का अर्थ है कि वे सभी अलग हैं। केवल पूर्णांक संख्या के रंग होंगे।
  • आप किसी भी रंग का उपयोग कर सकते हैं, जब तक कि वे नेत्रहीन रूप से भिन्न न हों - यदि आप टर्मिनल पर आउटपुट कर रहे हैं, तो आप अग्रभूमि और पृष्ठभूमि के संयोजन का उपयोग "रंग" के रूप में कर सकते हैं, हालांकि आपको अग्रभूमि और पृष्ठभूमि के लिए एक ही रंग का उपयोग नहीं करना चाहिए
  • आपके आउटपुट को उन वर्णों का उपयोग करना चाहिए जो आप वास्तव में उपयोग करते हैं, इनपुट से वर्ण नहीं। उदाहरण के लिए, यदि आपके पास इनपुट के रूप में ["विलो", 1, 1] था, तो आप WIL7OM7 और एम को 180 डिग्री घुमा सकते हैं।
  • आपको पहले सही अक्षरों का उपयोग करना चाहिए, फिर विकल्प: MI7LOW ["विलो", 1, 1] के लिए गलत है।
  • आप किसी दिए गए चरित्र के लिए किसी भी प्रतिस्थापन का उपयोग कर सकते हैं: SO5और SO2फ़्लिप किए गए 2 के साथ दोनों "एसओएस" के लिए मान्य हैं।
  • एक ही इनपुट के लिए आपके कोड के कई इनवॉइस समान आउटपुट का उत्पादन करने की आवश्यकता नहीं है
  • आउटपुट अपरकेस में होना चाहिए, लेकिन इनपुट ऊपरी और निचले मामले के किसी भी मिश्रण में हो सकता है
  • यह स्पष्ट होना चाहिए, लेकिन एक अंतरिक्ष में एक रंग नहीं है

नियम

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

संबंधित चुनौतियां


1
क्या होगा यदि सेट दिए गए "NOPE" को आउटपुट करना संभव नहीं है?
R

@ रिकर ए सेट में 36 दिए गए अक्षर हैं। यह उत्पादन करना असंभव कब होगा NOPE?

@Mypetlion जब कोई सेट नहीं है ...
R

@ रिकर पढ़ें "आपके पास जितने सेट होंगे वे हमेशा एक सकारात्मक गैर-शून्य पूर्णांक होंगे।"
मय्यप्लियन

1
फोम बाथ लेटर्स में लेट स्पीच का एक अच्छा परिचय है ...
अरनौलड

जवाबों:


1

HTML / जावास्क्रिप्ट (jQuery के साथ) / सीएसएस - गैर-प्रतिस्पर्धा / गैर-गोल्फ

बस गेंद को लुढ़कने के लिए, और यह दिखाएं कि यह असंभव नहीं है, यहां एक गैर-गोल्फ, गैर-प्रतिस्पर्धात्मक कार्यान्वयन है जो कार्य के लिए एक भोली दृष्टिकोण लेता है।

यह पहले tempalphसेट के रूप में वर्णमाला की कई प्रतियों को जोड़कर, सभी संभव पात्रों ( ) का एक स्ट्रिंग बनाता है । फिर यह वाक्यांश के माध्यम से पुनरावृत्ति करता है, वाक्यांश के प्रत्येक अक्षर को आउटपुट चर में डालता है, और उस पत्र के पहले उदाहरण को खाली करता है tempalph। यदि यह नहीं हो सकता (पत्र मौजूद नहीं है), यह जाँचता है कि क्या पत्र स्ट्रिंग में छोड़ी गई किसी चीज के साथ बदली है। यदि वह भी विफल हो जाता है, तो यह पूर्व-परिभाषित "एनओपीई" आउटपुट को आउटपुट करता है। यह मानते हुए कि यह "एनओपीई" मामले से नहीं टकराता है, यह आउटपुट स्ट्रिंग लौटाता है और इसे पृष्ठ पर एक डीआईवी में डाल देता है।

यह तब आधार वर्णमाला स्ट्रिंग के माध्यम से लूप करता है, और यदि एक पत्र का उपयोग किया गया है, तो यह एक उपयुक्त सीएसएस वर्ग प्रदान करता है, जिनमें से प्रत्येक में एक पूर्व-निर्धारित रंग सेट है।

यह इनपुट के लिए एचटीएमएल इनपुट का उपयोग करता है, और उनमें कीप पर अपडेट होता है।

इसे JSFiddle पर आज़माएं

इसके लिए उदाहरण ["BATH", 3, 1]:

स्नान

जे एस:

var वर्णमाला = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

फ़ंक्शन getPhrase (वाक्यांश, सेट) {
    var modphrase = "";
  var nope = 'NOPE';
  var re = / ^ [A-Z0-9] + $ /;
  अगर (पुनः वाक्य (वाक्यांश)) {
    // मान्य हो सकता है - यह जांचने की आवश्यकता है कि पर्याप्त वर्ण उपलब्ध हैं
    // इस बिंदु पर, विशेष रूप से देखने की जरूरत है कि पात्रों की क्या आवश्यकता है

    var tempalph = "";
    for (var i = 0; मैं '+ char +' ';
        अगर (tempalph.indexOf (char)! = -1) {
        tempalph = tempalph.replace (char, "#");
      } अन्य {
        स्विच (चार) {
            मामला "ई":
            अगर (tempalph.indexOf ("3")! = -1) {
                    tempalph = tempalph.replace ("3", "#");
              modchar = '3';
                } अन्य {
                वापसी;
            }
            टूटना;
          मामला "I":
            अगर (tempalph.indexOf ("1")! = -1) {
                    tempalph = tempalph.replace ("1", "#");
              modchar = '1';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "एल":
            अगर (tempalph.indexOf ("7")! = -1) {
                    tempalph = tempalph.replace ("7", "#");
              modchar = '7';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "एम":
            अगर (tempalph.indexOf ("W")! = -1) {
                    tempalph = tempalph.replace ("W", "#");
              modchar = 'W';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "O":
            अगर (tempalph.indexOf ("0")! = -1) {
                    tempalph = tempalph.replace ("0", "#");
              modchar = '0';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "डब्ल्यू":
            अगर (tempalph.indexOf ("M")! = -1) {
                    tempalph = tempalph.replace ("M", "#");
              modchar = 'M';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "0":
            अगर (tempalph.indexOf ("O")! = -1) {
                    tempalph = tempalph.replace ("O", "#");
              modchar = 'O';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "6":
            अगर (tempalph.indexOf ("9")! = -1) {
                    tempalph = tempalph.replace ("9", "#");
              modchar = '9';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "7":
            अगर (tempalph.indexOf ("L")! = -1) {
                    tempalph = tempalph.replace ("L", "#");
              modchar = 'L';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला "9":
            अगर (tempalph.indexOf ("6")! = -1) {
                    tempalph = tempalph.replace ("6", "#");
              modchar = '6';
                } अन्य {
              वापसी;
            }
            टूटना;

          मामला "एस":
            अगर (tempalph.indexOf ("5")! = -1) {
                    tempalph = tempalph.replace ("5", "#");
              modchar = '5';
                } और अगर (tempalph.indexOf ("2")! = -1) {
                    tempalph = tempalph.replace ("2", "#");
              modchar = '2';
                } अन्य {
              वापसी;
            }
            टूटना;
                    मामला "Z":
            अगर (tempalph.indexOf ("2")! = -1) {
                    tempalph = tempalph.replace ("2", "#");
              modchar = '2';
                } और अगर (tempalph.indexOf ("5")! = -1) {
                    tempalph = tempalph.replace ("5", "#");
              modchar = '5';
                } अन्य {
              वापसी;
            }
            टूटना;
          मामला " ":
            टूटना;
          चूक:
            वापसी;
          }

      }
        modphrase + = modchar;
    }

    वापसी modphrase;
  } अन्य {
    // में कुछ अन्य वर्ण हैं, इसलिए निश्चित रूप से मान्य नहीं है
    वापसी;
  }
}

फ़ंक्शन एडॉलर्स (कोलकाउंट) {
  var i = 0;
  के लिए (वर्णमाला का चार्ट) {
    exclass = ";" + char;
    newclass = "col" + i;
    अगर ($ (एक्सेल)) .length> 0) {
      $ (Exclass) .addClass (NewClass);
    }
    मैं ++;
    अगर (i == colcount) {
        मैं = 0;
    } 
  }
}


$ ("# वाक्यांश, # सेट, # रंग")। पर ("कीप", फ़ंक्शन () {
    var वाक्यांश = $ ("# वाक्यांश")। val ()। toUpperCase ();
  वाक्यांश = getPhrase (वाक्यांश, $ ("# सेट")। val ());
    $ ( "# उत्पादन") एचटीएमएल (वाक्यांश)।
  addColors ($ ( "# रंग") वैल ()।);
})

HTML:

<लेबल> वाक्यांश <इनपुट प्रकार = "टेक्स्ट" आईडी = "वाक्यांश" /> </ लेबल>
<लेबल> रंग <इनपुट प्रकार = "टेक्स्ट" आईडी = "रंग" मान = "3" /> </ लेबल>
<लेबल> सेट <इनपुट प्रकार = "टेक्स्ट" आईडी = "सेट" मूल्य = "1" /> </ लेबल>

<div id = "output">

</ Div>

सीएसएस:

.col0 {रंग: # f00}
.col1 {color: # 0f0}
.col2 {रंग: # 00f}
.col3 {रंग: # 66CDAA}
.col4 {color: # EE82EE}
.col5 {रंग: # 7FFFD4}
.col6 {रंग: # 7FFFD4}
.col7 {color: #FFDEAD}
.col8 {color: # D8BFD8}
.col9 {color: # FF6347}
.col10 {रंग: # 8B4513}
.col11 {रंग: # 800000}
.col12 {रंग: # 00FFFF}
.col13 {रंग: # 32CD32}
.col14 {रंग: # 191970}
.col15 {रंग: # 1E90FF}
.col16 {रंग: # A0522D}
.col17 {रंग: # 808000}
.col18 {color: # DC143C}
.col19 {रंग: # 90EE90}
.col20 {रंग: # D2691E}
.col21 {रंग: # 48D1CC}
.col22 {रंग: # 008000}
.col23 {रंग: # 8B008B}
.col24 {रंग: # 6495ED}
.col25 {रंग: # 800080}
.col26 {रंग: # 000080}
.col27 {रंग: # DB7093}
.col28 {रंग: # 7FFF00}
.col29 {रंग: # 00FA9A}
.col30 {रंग: # 0000FF}
.col31 {रंग: # BC8F8F}
.col32 {रंग: # A52A2A}
.col33 {रंग: # 4169E1}
.col34 {रंग: # FFFF00}
.col35 {रंग: # FFA07A}

.rot {डिस्प्ले: इनलाइन-ब्लॉक; परिवर्तन: घुमाएँ (0.5 टन) ;;
.flip {प्रदर्शन: इनलाइन-ब्लॉक; रूपांतर: चक्कर (0.5 टन) ;;

div {
  फ़ॉन्ट-परिवार: sans-serif;
  फ़ॉन्ट-आकार: 3em;
  पृष्ठभूमि-रंग: # 000;
  गद्दी: 10 पीएक्स;
}

मैं गैर गंभीर दावेदार, प्रश्न में शामिल किया जाना चाहिए प्रति लगता है यह (मिनी) मेटा आम सहमति।
user202729
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.