নতুন সাইট ডিজাইন!


57

আপনার যদি এমন কোনও ইউজার স্ক্রিপ্ট না থাকে যা সাইটের ডিজাইনটি (বা এমনকি তা হলেও) সংশোধন করে, আপনার অবশ্যই লক্ষ্য করা উচিত যে আমাদের সাইটের ডিজাইন রয়েছে!

(এখন নভেম্বর)

সুতরাং, উদযাপন করার জন্য, আসুন এমন একটি প্রোগ্রাম তৈরি করি যা প্রত্যাবর্তনমূলকভাবে এই নকশাটি প্রয়োগ করে (অবশ্যই ওভারসিম্প্লিফাইড)!

সুতরাং, সর্বাধিক গুরুত্বপূর্ণ পরিবর্তনগুলি হ'ল:

  • আমাদের নতুন নামটি এখন কোড গল্ফ এবং কোডিং চ্যালেঞ্জ
  • আমাদের সাইটটি আর ডিফল্ট নীল রঙ নয় এবং পরিবর্তে একটি দুর্দান্ত গা dark় সবুজ

সুতরাং, একটি স্ট্রিং দেওয়া হয়েছে, পরিবর্তন করুন:

  • PPCG প্রতি CGCC
  • Programming Puzzles {non-whitespace} Code Golfথেকে Code Golf {same-thing} Coding Challenges(উদাহরণস্বরূপ, Programming Puzzles + Code Golf, and Code Golf, এবং & Code Golfসব পরিবর্তন করা হবে Code Golf + Coding Challenges, and Coding Challengesএবং & Coding Challenges
  • #abcথেকে #acb(নীল থেকে সবুজ পরিবর্তন এবং তদ্বিপরীত - কেবল এই বিষয়টি উপেক্ষা করুন যে সবুজটি যুক্তিযুক্তভাবে নীল হয়ে উঠবে না তবে আমি রঙ বদলাতে জটিল করতে চাই না)
  • #abcdefথেকে #abefcd(একই হিসাবে উপরে)

মনে রাখবেন যে, রঙ অদলবদল জন্য, আপনার কাছ থেকে কোনো হেক্সাডেসিমেল অঙ্ক গ্রহণ করা উচিত 0-9কাছে a-f। হেক্স ডিজিটের কী ক্ষেত্রে প্রয়োজন তা আপনি চয়ন করতে পারেন তবে এটি অবশ্যই সামঞ্জস্যপূর্ণ এবং ইনপুট থেকে আউটপুট পর্যন্ত একই হতে হবে।

আপনার বিকল্পগুলি কেস-সংবেদনশীল হতে পারে এবং যদি তা না হয় তবে অনুগ্রহ করে আউটপুট কীভাবে কাজ করে তা উল্লেখ করুন।

বিকল্পগুলি কেবল তখনই ঘটতে হবে যখন স্ট্রিংটি শব্দের সীমানা দ্বারা ঘিরে থাকে (এর শুরু সহ #)। অন্য কথায়, নির্দিষ্ট প্রতিটি প্রতিস্থাপন কেবল তখনই ঘটে যখন ম্যাচটি স্ট্রিংয়ের প্রান্তে থাকে বা অ-অক্ষরীয় অক্ষর (উভয় পক্ষের) দ্বারা সীমানাযুক্ত হয়।

স্ট্যান্ডার্ড লুফোলস প্রযোজ্য। এটি একটি কোড-গল্ফ চ্যালেঞ্জ, তাই সংক্ষিপ্ততম কোডটি জয়ী!

উদাহরণ

PPCG -> CGCC
Programming Puzzles or Code Golf -> Code Golf or Coding Challenges
PPCG stands for Programming Puzzles and Code Golf and its site color is #abf -> CGCC stands for Code Golf and Coding Challenges and its site color is #afb
The color #00f is much more intense than #5568ed -> The color #0f0 is much more intense than #55ed68
Programming Puzzles and No Substitution -> Programming Puzzles and No Substitution
No Substitution and Code Golf -> No Substitution and Code Golf
Programming Puzzles and no substitution Code Golf -> Programming Puzzles and no substitution Code Golf
Code Golf and Programming Puzzles -> Code Golf and Programming Puzzles
Programming Puzzles and Programming Puzzles and Code Golf -> Programming Puzzles and Code Golf and Coding Challenges

(শেষ পরীক্ষা মামলা, এটা গুরুত্বপূর্ণ খেয়াল করা জরুরী যে অনূদিত স্ট্রিং আবার অনুবাদ করা যেতে পারে কিন্তু রূপান্তর প্রয়োগ করা আবশ্যক ঠিক একবার)

গুরুত্বপূর্ণ আপডেট

(ধন্যবাদ @tsh)

Programming Puzzles ... Code Golfপ্রতিকল্পন নিয়ম এটি ভেতরে অন্যান্য নিয়ম (অন্তর্ভুক্ত করতে পারে Programming Puzzles PPCG Code Golfবৈধ)। এই ক্ষেত্রে, আপনি বিধি প্রয়োগ করা হবে কিনা তা চয়ন করতে পারেন, তবে এটি অবশ্যই নির্দোষ হতে হবে। আমি আপনার মধ্যে সামঞ্জস্যপূর্ণ হওয়ার প্রয়োজন নেই PPCGএবং #...কারণ উত্তরগুলি আমার তালিকার নিয়মগুলি কার্যকর করার আদেশ বলে মনে হচ্ছে যার ফলে অসঙ্গতি ঘটে। এটি কেবল একটি স্পষ্টতা; আমি বিশ্বাস করি যে সমস্ত বর্তমান উত্তর বৈধ থাকবে।


3
সাবস্ট্রিংগুলির চারপাশে বা সর্বত্র শব্দের সীমা থাকলে কেবলমাত্র বিকল্পগুলি প্রয়োগ করা উচিত?
এরিক আউটগল্ফার

1
পছন্দ করুন শব্দ সীমানা থাকা উচিত। আমি এটি নির্দিষ্ট করব; ধন্যবাদ।
হাইপারনিউটারিনো

একটি # এর জন্য "শব্দের সীমানা" সংজ্ঞায়িত করুন; রেজেক্স বাস্তবায়ন কোনও শব্দ শুরু করতে সাধারণত # বিবেচনা করে না।
11:55

1
ওহ, আমি অনুমান করি যে Programming Puzzles and no substitution Code Golfকেউ
কাউকেও

1
প্রস্তাবিত পরীক্ষার কেস Code Golf and Programming Puzzlesএবং Programming Puzzles and Programming Puzzles and Code Golf। @ ভেসকাঃ হুম, এবং আমি মনে করি যে আমার প্রস্তাবিত পরীক্ষার কেসটি আমার 05 এবি 1 ই উত্তরে ব্যর্থ হয়েছে, যেহেতু আমার কাছে রেইগেক্স নেই ..> << অঙ্কন বোর্ডে ফিরে যান ..
কেভিন ক্রুইজসেন

উত্তর:


12

রুবি -p , 165 164 159 বাইট

এটি সিডের উত্তরের সাথে একই রকম হয়ে গেছে, তবে এটি ([\da-f]{1,2})পুরো বিষয়টির পুনরাবৃত্তি করার পরিবর্তে তৃতীয় রেজেক্সের মধ্যে তিনবার হেক্স গ্রুপের সাথে মিলে যাওয়া হেক্স গ্রুপের নকল করতে রুবির স্ট্রিং ইন্টারপোলশনটিকে অপমান করে।

  • @ র্যান্ডমডুড৯৯৯ থেকে -১ বাইট।
  • @ এক্সকালির পার্ল দ্রবণটি লাভ থেকে 5 বাইট
gsub /\bPPCG\b/,"CGCC"
gsub /\bProgramming Puzzles( \S+ )(Code Golf)\b/,'\2\1Coding Challenges'
[1,2].map{|i|gsub /(^|\s)#\K#{'([\da-f]{%d})'%i*3}\b/,'\2\4\3'}

এটি অনলাইন চেষ্টা করুন!


{1,2}4 বা 5 দৈর্ঘ্যের হেক্স ইনপুটগুলির সাথে বিরতি ব্যবহার করে না #aabbc? সম্পাদনা করুন: এটি করে (এই উদাহরণটি প্রতিস্থাপন করা উচিত নয় কারণ এটি বৈধ হেক্স রঙ নয়)।
এলোমেলো সময় 999

এই ক্ষেত্রে ব্যর্থ ( -একটি অ-অক্ষরীয় অক্ষর)।
এরিক আউটগলফার

@ randomdude999 হ্যাঁ, ভাল ক্যাচ তার জন্য একটি চেক যুক্ত করা হয়েছে।
মান কালি

@ ইরিকথ আউটগল্ফার হ্যাঁ, আমার ধারণা। এর সাথে "শব্দের সীমানা" #কিছুটা অস্পষ্ট কারণ যেহেতু /\b/এটি অন্য অ-অক্ষর সংখ্যার পাশে নিবন্ধভুক্ত হয় না, তবে আমি কোনও পরিবর্তন না করেই পরিবর্তনটি করেছি (প্রতিস্থাপন \Sকরে \w)
মান কালি

আপনি (?<!\w)আমার (^|\W)1 চরের সাথে আপনার প্রতিস্থাপন করতে পারবেন না ?
11:57

9

সি ++ (জিসিসি) , 270 285 283 বাইট

বাগটি নির্দেশ করার জন্য নীলকে ধন্যবাদ জানাই।

-2 বাইট সিলিংক্যাট ধন্যবাদ।

#import<regex>
#import<string>
auto f=[](auto s){typeof(s)R[][2]{"bPPCG","CGCC","bProgramming Puzzles( \\S+ )(Code Golf)","$2$1Coding Challenges","B#(?=([\\da-f]{3}){1,2}\\b)(.+?)(..??)(..??)","#$2$4$3"};for(auto r:R)s=std::regex_replace(s,std::regex('\\'+*r+"\\b"),r[1]);return s;};

এটি অনলাইন চেষ্টা করুন!


3
ম্যাঙ্গেল বলে মনে হচ্ছে #fadeএবং #facedযা এটি করা উচিত নয়।
নীল

6

রেটিনা 0.8.2 , 153 130 বাইট

\bPPCG\b
CGCC
\bProgramming Puzzles( \S+ )(Code Golf)\b
$2$1Coding Challenges
\B(#(?=([\da-f]{3}){1,2}\b).+?)(..??)(..??)\b
$1$4$3

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। সমস্ত বিকল্প কেস সংবেদনশীল। ধরে নিন সাধারণ রেজেক্স শব্দের অক্ষর গ্রহণযোগ্য হয় তাই \B#কেবলমাত্র এমন শব্দগুলির সাথে মেলে #যা কোনও শব্দ অক্ষর অনুসরণ করে না। সম্পাদনা করুন: 22 টি বাইট সংরক্ষিত হয়েছে @tsh এর জন্য ধন্যবাদ।


চেষ্টা করবেন \B#(?=([\da-f]{3}){1,2}\b)(.+?)(..??)(..??)\b?
tsh

5

জিএনইউ সেড -E, 198 টি অক্ষর

s/\bPPCG\b/CGCC/g
s/\bProgramming Puzzles( \S* Cod)e Golf\b/Code Golf\1ing Challenges/g
s/((^|\W)#[0-9a-f])([0-9a-f])([0-9a-f])\b/\1\4\3/g
s/((^|\W)#[0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/\1\4\3/g

চলমান উদাহরণস্বরূপ ব্যবহার করে sed -E 'the above'; নিউলাইনগুলি হয় আক্ষরিক অন্তর্ভুক্ত করা যেতে পারে, বা ;আপনি যদি চান তবে এটি প্রতিস্থাপন করা যেতে পারে। দুটোই কাজ করে।

@ হাইপার নিউট্রিনো এই শব্দটির উপরে আসুন বাউন্ডারি রুল মূর্খ। এই #ক্ষেত্রে আমার কী করতে হবে তা দেখুন ।

হ্যাঁ, আমি চেষ্টাও করিনি। : P: P

@ ভ্যালু কালি দ্বারা +9


3
পতাকাগুলি আর বাইট গণনায় অন্তর্ভুক্ত থাকে না তাই আপনি অতিরিক্ত বাইটটি বের করতে পারেন এবং -Eপরিবর্তে "GNU সেড " বলতে পারেন ।
মান কালি

@ ভ্যালিউইঙ্ক ওহাআআআট? আমি স্পষ্টতই এই সম্প্রদায়ের সাথে যোগাযোগের বাইরে খুব দীর্ঘ সময় এটি না খেয়াল করেছি। যদিও আমি মনে করি এটি একটি ভাল নিয়ম। এছাড়াও, উল্লেখ করার জন্য ধন্যবাদ।
টমসমেডিং

sedএর রেজেক্স ম্যাচটি \dশর্টকাট হিসাবে ব্যবহারের অনুমতি দেয় না 0-9? আপনাকে পুরো 6 বাইট বাঁচাতে পারে
এলোমেলো ডাবদেন৯৯৯

এছাড়াও আমি কেবল লক্ষ্য করেছি, আপনি প্রত্যাশিত "কোড গল্ফ বা কোডিং চ্যালেঞ্জ" এর পরিবর্তে দ্বিতীয় পরীক্ষার ক্ষেত্রে "প্রোগ্রামিং ধাঁধা বা কোডিং চ্যালেঞ্জস" ফিরিয়ে দেন।
মূল্য কালি

@ randomdude999 আমার ম্যাকের পুনরায় ফর্ম্যাট (7) ম্যান পৃষ্ঠাটি মনে হচ্ছে যে সেডকে \ d সমর্থন করা উচিত, তবে দৃশ্যত তা তা করেনি। ¯ \ _ (ツ) _ / ¯
11:45


4

05 এ বি 1 ই , 123 109 105 110 114 বাইট

žKISå_Å¡JεÐć'#QsžhA6£«sSåP*i3äćsRJ«ë"PPCG"Qi"CGCC"]J”–±ÇÀ”DU¡ćsε”ƒËŠˆ”©¡DVćDÁ2ôεðå}ćs_P*YyÊP*i”Âïªï”«s®ý«®ìëyXì]J«

+5 বাইটস পরীক্ষার কেসগুলি ঠিক করে Programming Puzzles and no substitution Code Golfএবং এর মতো করে Programming Puzzles and Programming Puzzles and Code Golf
+4 বাইটগুলি পরীক্ষার কেসগুলি ঠিক করে দেয় color-#00f(এর চারপাশে ফাঁকা স্থান / নিউলাইনগুলি ছাড়াও কিছু রঙযুক্ত)। এটি আমার নজরে আনার জন্য @ গ্রিমিকে ধন্যবাদ ।

কেস সংবেদনশীল। হেক্সাডেসিমাল মানগুলি ছোট হাতের সাথে থাকে abcdef; Programming Puzzles ... Code Golfশিরোনামে আছে; PPCGপুরো বড় হাতের অক্ষরে রয়েছে।

এটি অনলাইনে চেষ্টা করুন।

কাজের জন্য অবশ্যই সঠিক ভাষা নয় .. শব্দের চৌহদ্দি অনুকরণ করা এবং প্রতিস্থাপন করা Programming Puzzles \S+ Code Golf, তবে কোনও রেজেক্সস না Code Golf \S+ Programming Puzzlesবা Programming Puzzles \S+ \S+ Code Golfছাড়াই বেশ শক্ত (সংক্ষেপে করা) ..>।>

ব্যাখ্যা:

žK                # Push "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
                  # (NOTE: if '_' also count as word boundary, use `žj` instead)
  IS              # Push the input as a list of characters
    å_            # Check for each character if they are NOT in the string
      Å¡          # Split the (implicit) input on truthy values
        J         # Join each inner character list to a string again
ε                 # Map each word to:
 Ð                #    Triplicate the word
  ć               #    Extract head; push remainder and head separately to the stack
   '#Q           '#    Check if the head equals "#"
    žh            #    Push string "0123456789"
      A6£«        #    Append the first 6 letters of the alphabet: "0123456789abcdef"
   s      sSåP    #    Check if the characters of the remainder are all in this string
   *i             #    If both are truthy:
     3ä           #     Split the 'word' into three parts
                  #      i.e. "#ab12cd" → ["#ab","12","cd"]
       ćs         #     Extract head, and swap
         R        #     Reverse the remainder list
          J«      #     Join them together, and merge them to the head again
    ë"PPCG"Qi     #    Else-if the word is "PPCG":
     "CGCC"       #     Push "CGCC"
                  #    (Implicit else:
                  #      Use the word that's still there from the initial triplicate)
]                 # Close all if statements and the nested map
 J                # Join the mapped words together again
”–±ÇÀ”            # Push dictionary string "Programming Puzzles"
      DU          # Save a copy in variable `X`
        ¡         # Split the string by this
         ćs       # Extract head & swap; pushing head and remainder to the stack
ε                 # Map each substring `y` in the remainder to:
 ”ƒËŠˆ”           #  Push dictionary string "Code Golf"
       ©          #  Save it in variable `®` (without popping)
        ¡         #  Split the current substring we're mapping by it
         DV       #  Save a copy of this list in variable `Y`
           ćD     #  Extract the head and duplicate
                  #  (so the stack is: remainder, head, head)
 Á                #  Rotate the characters in the head-string once towards the right
  2ô              #  Split it into parts of size 2
    εðå}          #  Check in each part if it contains a space
        ćs        #  Extract head and swap again
          _       #  Check if all values are 0
           P      #  And check if this is truthy for all
          *       #  And check if this is truthy, as well as the head
                  #  (this means the current string has a leading and trailing space,
                  #   and no other spaces)
 YyÊP             #   Check that none of the susbtrings in variable `Y`
                  #   are equal to the current substring `y`
 *i               #   If both checks above are truthy:
   ”Âïªï”«        #    Prepend "Coding Challenges" to the duplicated head
          s®ý     #    Join the remainder by variable `®` ("Code Golf")
             «    #    Append it
              ®ì  #    And prepend an additional variable `®` ("Code Golf")
  ë               #   Else:
   y              #    Simply keep the substring `y` as is
    Xì            #    And prepend variable `X` ("Programming Puzzles") 
                  #    since we've split by it
]                 # Close all if-else statements and the map
 J                # Join the mapped substrings together to a single string
  «               # And append it to the initially extracted head
                  # (then output the resulting string implicitly as result)

আমার এই 05AB1E টিপটি দেখুন (অভিধানটি কীভাবে ব্যবহার করবেন? ) কেন ”–±ÇÀ”তা বোঝার জন্য "Programming Puzzles"; ”ƒËŠˆ”হয় "Code Golf"; এবং ”Âïªï”হয় "Coding Challenges"



3

জাভাস্ক্রিপ্ট (নোড.জেএস) , 174 বাইট

s=>s[R='replace'](/\bPPCG\b/g,'CGCC')[R](/\bProgramming Puzzles( \S+ )(Code Golf)\b/g,'$2$1Coding Challenges')[R](/\B#(?=([\da-f]{3}){1,2}\b)(.+?)(..??)(..??)\b/ig,'#$2$4$3')

এটি অনলাইন চেষ্টা করুন!


পরীক্ষার ক্ষেত্রে ব্যর্থ হয় #abcdeকারণ {3,6}3 বা 6 বর্ণের পরিবর্তে রেজেক্স বাছাইপর্বটি 3 এবং 6 অক্ষরের মধ্যে মেলে যা আমি ধরে নিই যে আপনি যাচ্ছিলেন।
মান কালি

পছন্দ করুন +5 বাইট সহ স্থির
tsh


2

পাইথ , 177 173 162 142 বাইট

J::jb.z"\\bPPCG\\b""CGCC"." z¶NZI°Pÿúd(MÜ_BöIkxnqä'u)"." s6#~ÍN³=<nñu/GÎg"VS2~:J%"(^|\W)#%s\\b"*3%"([\da-f]{%d})"N$r"\1#\2\4\3"$)J

পাইথের স্ট্রিং সংকোচন প্রক্রিয়া ছাড়াই এখানে একটি সংস্করণ রয়েছে (ওরফে এটি অনুলিপি-অনুলিপি করা নিরাপদ):

J::jb.z"\\bPPCG\\b""CGCC""\\bProgramming Puzzles( \S+ )(Code Golf)\\b""\\2\\1Coding Challenges"VS2~:J%"(^|\W)#%s\\b"*3%"([\da-f]{%d})"N$r"\1#\2\4\3"$)J

এটি অনলাইন চেষ্টা করুন!

এটি সত্যিই দীর্ঘ হওয়া সত্ত্বেও আমি রেজিক্সগুলির সাথে যতটা সম্ভব প্যাডেন্টিক হওয়ার চেষ্টা করেছি। আমি সম্ভাব্য প্রতিটি স্ট্রিং সঙ্কুচিত করার চেষ্টা করেছি, তবে তাদের বেশিরভাগই ছোট হয় নি বা টিআইওতে সঠিকভাবে আটকানো যায়নি।

ব্যাখ্যা:

J::                      # definition of J to the following 2 regex replacements
   jb.z                  # input to first regex replacement: all input lines joined together
   "\\bPPCG\\b"          # first regex
   "CGCC"                # first replacement
   ."<compressed>"       # second regex: "\\bProgramming Puzzles( \S+ )(Code Golf)\\b"
   ."<compressed>"       # second replacement: "\\2\\1Coding Challenges"
VS2                      # loop twice, N = 1 or 2
  ~:J                    # some weird assignment: J = regex replace in J (would be J := (regex, replacement) if : was python's regex replace operator)
    %                    # third regex: string format
     "(^|\W)#%s\\b"      # format string
     *3                  # repeat 3 times:
       %"([\da-f]{%d})"N # string format, replace %d with N (the loop counter)
    $r"\1#\2\4\3"$       # third replacement: uses python raw literals because it's shorter than escaping the backslashes
    )                    # end for loop
J                        # print J
  • -11 মান কালি এর রুবি উত্তর থেকে একটি ভাল regex ধন্যবাদ
  • -20 রুবি এবং পার্ল উত্তর দ্বারা অনুপ্রাণিত হেক্স প্রতিস্থাপন উভয় জন্য লুপ ব্যবহার করার জন্য ধন্যবাদ

1

পার্ল 5 -p , 152 145 বাইট

@ ভালিউইঙ্ক 7 টি বাইট সংরক্ষণ করেন

s/\bPPCG\b/CGCC/g;s/\bProgramming Puzzles( \S+ )(Code Golf)\b/$2$1Coding Challenges/g;for$a(1,2){$p="([a-f0-9]{$a})"x3;s/(^|\s)#\K$p\b/$2$4$3/gi}

এটি অনলাইন চেষ্টা করুন!


( \S+ )(Code Golf)\b/$2$1Coding2 বাইট সঞ্চয় এছাড়াও শেষ রেজেক্সটি কেবলমাত্র তার \bপরিবর্তে শেষ হতে পারে(?=\s|$)
মান কালি

আপনি সেই মন্তব্যটি লেখার সময় আমি সেই প্রথমটিতে কাজ করছি। আমি কিছু বাইট সংরক্ষণ করতে অন্য পরিবর্তন করেছি। ধন্যবাদ!
এক্সকালি

পরিবর্তে এটি \sহওয়া উচিত \W, অন্যথায় এটি এই ক্ষেত্রে ব্যর্থ হয় ( -এটি একটি অ-অক্ষরীয় চরিত্র, সুতরাং প্রতিস্থাপন প্রয়োগ করা উচিত)।
গ্রিমি


0

জাভা 8, 192 বাইট

s->s.replaceAll("\\bPPCG\\b","CGCC").replaceAll("\\bProgramming Puzzles( \\S+ )(Code Golf)\\b","$2$1Coding Challenges").replaceAll("\\B(#(?=([0-9a-f]{3}){1,2}\\b).+?)(..??)(..??)\\b","$1$4$3")

@ নীলের রেটিনা উত্তর পোর্ট , তাই তাকে উর্ধ্বতন নিশ্চিত করুন!

এটি অনলাইনে চেষ্টা করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.