জাপানি মারিও শিরোনামকে আমেরিকান উপাধিতে রূপান্তর করুন


16

সুপার মারিও সিরিজের গেমগুলির নামকরণ কনভেনশনগুলি খুব অদ্ভুত, এবং অঞ্চলগুলির মধ্যে মেলে না।

| Japanese Name       | American Name                      |
|---------------------|------------------------------------|
| Super Mario Bros.   | Super Mario Bros.                  |
| Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels |
| Super Mario USA     | Super Mario Bros. 2                |
| Super Mario Bros. 3 | Super Mario Bros. 3                |
| Super Mario Bros. 4 | Super Mario World                  |

কী এলোমেলো!


চ্যালেঞ্জ:

একটি সুপার মারিও গেমের জাপানি নামের সমন্বয়ে একটি স্ট্রিং দেওয়া হয়েছে, সংশ্লিষ্ট আমেরিকান নামটি আউটপুট দেয়। আপনি যে কোনও যুক্তিসঙ্গত পদ্ধতির মাধ্যমে জাপানি স্ট্রিং ইনপুট করতে পারেন এবং যে কোনও যুক্তিসঙ্গত পদ্ধতির মাধ্যমে আমেরিকান স্ট্রিং (anচ্ছিক নিউলাইন সহ) আউটপুট করতে পারেন।

আপনাকে অবশ্যই উপরে প্রদর্শিত সঠিক স্ট্রিংগুলি ব্যবহার করতে হবে। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ!

সংক্ষিপ্ততম কোড (বাইটে) বিজয়ী।



1
তবে আমি ভেবেছিলাম সুপার মারিও ব্রোস 2 এর জাপানি নাম ডোকি ডকি প্যানিক। অথবা তারা আবার জাপানে একই খেলাটি পুনরায় প্রকাশ করেছে তবে মারিও স্কিনগুলি নিয়ে?
শুফলেপ্যান্টস

@ শাফলিপ্যান্টস আইআইআরসি, হ্যাঁ, তারা এটি "সুপার মারিও ইউএসএ" হিসাবে মারিও স্কিনগুলির সাথে পুনরায় প্রকাশ করেছিলেন।
পোকেছু 22

1
আমরা কি ধরে নিতে পারি ইনপুটটি অবশ্যই সঠিক জাপানি নাম হতে পারে?
স্টিভেফেসেল

উত্তর:


14

সেড, 52

  • 1 মাইট @ মাইকস্কট ধন্যবাদ

সোজা প্রতিস্থাপন:

s/ 2/: The Lost Levels/
s/USA/Bros. 2/
s/B.*4/World/

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


2
আপনি শেষ লাইনটি তৈরি করে একটি অক্ষর সংরক্ষণ করতে পারেন s/B.*4/World/
মাইক স্কট

@ মাইকস্কট হ্যাঁ - ধন্যবাদ!
ডিজিটাল ট্রমা

6

রেটিনা, 43

  • 1 মাইট @ মাইকস্কট ধন্যবাদ

আমার খারাপ উত্তর সরাসরি বন্দর :

 2
: The Lost Levels
USA
Bros. 2
B.*4
World

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


সেড সংস্করণ থেকে আমার সংরক্ষিত চরিত্রটি এখানেও কাজ করে - B.*4পরিবর্তে ব্যবহার করুন \S* 4
মাইক স্কট

6

জাভাস্ক্রিপ্ট (ES6), 82 81 বাইট

s=>s.replace(/ 2|o.*4|USA/,(_,i)=>['Bros. 2',': The Lost Levels','o World'][i&3])

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

কিভাবে?

অনুসন্ধান এবং প্রতিস্থাপনের জন্য তিনটি নিদর্শন রয়েছে। আমরা তাদের সকলকে একবারে অনুসন্ধান এবং প্রতিস্থাপনের স্ট্রিংটি কমানোর জন্য ম্যাচের আই পজিশনটি ব্যবহার করিআমি

Pattern | Found in              | Position in string | Position MOD 4 | Replaced with
--------+-----------------------+--------------------+----------------+--------------------
/ 2/    | "Super Mario Bros. 2" |                 17 |              1 | ": The Lost Levels"
/o.*4/  | "Super Mario Bros. 4" |                 10 |              2 | "o World"
/USA/   | "Super Mario USA"     |                 12 |              0 | "Bros. 2"

2
এখন যে চালাক।
darrylyeo


3

জাভাস্ক্রিপ্ট (ES6), 84 বাইট

s=>s[r='replace'](' 2',': The Lost Levels')[r]('USA',(b='Bros. ')+2)[r](b+4,'World')


2
[r='replace']কৌতুক জন্য +1 ।
অর্জুন

আমি জেএসকে খুব বেশি জানি না ... কাজটিকে []একটি ফাংশন হিসাবে ব্যবহার করে কীভাবে ?
সম্পূর্ণমানবিক

3
@ টোটালিহুমান ১) জেএস বস্তুর বৈশিষ্ট্যগুলি এই দুটি সিনট্যাক্সের সাথে ব্যবহার করা যেতে পারে: object.propertyবা object['property']। 2) কোনও অবজেক্টের একটি পদ্ধতি এমন একটি সম্পত্তি যা একটি ফাংশন নির্ধারিত হয়। 3) হুডের নীচে, জেএস সংক্ষেপে একটি স্ট্রিংয়ের মতো একটি আদিম প্রকারকে কোনও বস্তুতে রূপান্তরিত করে যখন এতে কোনও সম্পত্তির অ্যাক্সেস সিনট্যাক্স ব্যবহৃত হয়। উপসংহার: উপরের সমস্তগুলিকে একত্রিত করে আমরা বুঝতে পারি s['replace']()যে এটি টিনের উপরে যা বলে ঠিক তাই করে।
আর্নল্ড


2

জাপট , 48 বাইট

d" 2"`: T” Lo¡ Levels`"USA"`Bžs. 2``Bžs. 4``WŽld

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

ব্যাখ্যা:

 d" 2"`: T” Lo¡ Levels`"USA"`Bžs. 2``Bžs. 4``WŽld

U                                //  Implicit U = Input
 d                               //  Replace:
   " 2"                          //    " 2" with
       `...`                     //    ": The Lost Levels" decompressed,
            "USA"                //    "USA" with
                 '...'           //    "Bros. 2" decompressed,
                      '...'      //    "Bros. 4" decompressed with
                           '...' //    "World" decompressed

স্টপ সংক্ষেপণের জন্য জাপট শোক লাইব্রেরি ব্যবহার করে । ব্যাকটিকগুলি স্ট্রিংগুলি সংক্ষেপিত করতে ব্যবহৃত হয়।



1

জেলি ,  44  43 বাইট

⁹
HḂ+2⁹Ḳ¤ḣK;⁸ị“¥ḄḞ“ḋṗYP8ḷẇ?Ṅ“¡Ạ ṙṗ%»¤
0ịVĊŀ

একটি সম্পূর্ণ প্রোগ্রাম যা ফলাফল মুদ্রণ করে।

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

কিভাবে?

⁹ - Link 1: yield right argument: number a, list of characters b
⁹ - link's right argument, b

HḂ+2⁹Ḳ¤ḣK;⁸ị“¥ḄḞ“ḋṗYP8ḷẇ?Ṅ“¡Ạ ṙṗ%»¤ - Link 0: change a name: number a, list of characters b
                   ...Note: at this point a will be 0, 2 or 4 for USA, 2 and 4 respectively
H                                   - halve a (0,1, or 2)
 Ḃ                                  - mod 2   (0,1, or 0)
  +2                                - add 2   (2,3, or 2)
      ¤                             - nilad followed by link(s) as a nilad:
    ⁹                               -   link's right argument, b
     Ḳ                              -   split at spaces
       ḣ                            - head (first two for USA or 4, first three for 2)
        K                           - join with spaces
                                  ¤ - nilad followed by link(s) as a nilad:
          ⁸                         -   link's left argument a
            “¥ḄḞ“ḋṗYP8ḷẇ?Ṅ“¡Ạ ṙṗ%»  -   list of dictionary/string compresions:
                                    -     [" World",": The Lost Levels"," Bros. 2"]
           ị                        - index into (1-based & modular; respectively [4,2,0])

0ịVĊŀ - Main link: list of characters, J
0ị    - index 0 into J - gets the last character '.', '2', 'A', '3', or '4'
  V   - evaluate as Jelly code - the evaluations are:
      -     "Super Mario Bros." :  . - literal 0.5
      -   "Super Mario Bros. 2" :  2 - literal 2
      -       "Super Mario USA" :  A - absolute value (default argument is 0) = 0
      -   "Super Mario Bros. 3" :  3 - literal 3
      -   "Super Mario Bros. 4" :  4 - literal 4
   Ċ  - ceiling - changes a 0.5 to 1 and leaves others as they were
    ŀ - call link at that index as a dyad (left = the evaluation, right = J)
      -   this is one based and modular so 1 & 3 go to Link 1, while 0, 2 & 4 go to Link 0.

3
"ক্রসড আউট 44 স্বাভাবিক 44" -তে চমৎকার কাজ।
wizzwizz4

1

গণিত, 80 বাইট

#~StringReplace~{" 2"->": The Lost Levels","USA"->"Bros. 2","Bros. 4"->"World"}&

বেনামে ফাংশন। ইনপুট হিসাবে একটি স্ট্রিং নেয় এবং আউটপুট হিসাবে একটি স্ট্রিং প্রদান করে।


1

পাইথন 3: 111 বাইট

from re import sub as r
print(r(" USA","Bros. 2",r(" 2",": The Lost Levels",r("Bros. 4","World",input()))))

ব্যবহারকারী ইনপুট পান, রেজেক্স-ভিত্তিক বিকল্পের একটি সিরিজ চালান, এবং ফলাফল মুদ্রণ করে।


সাইটে স্বাগতম! আমি মনে করি আপনি যদি এর from re import*পরিবর্তে এটি করেন তবে এটি খাটো from re import sub as r। তারপরে দ্বিতীয় লাইনটি পরিণত হবে:print(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))
ডিজেএমসিএমহেম

আহা, দুর্দান্ত। ধন্যবাদ!
স্ট্রুয়ান ডানকান-উইলসন

0

যান , 134 বাইট

import."strings"
func f(s string)string{r:=Replace;return r(r(r(s," 2",": The Lost Levels",1),"USA","Bros. 2",1),"Bros. 4","World",1)}

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

যেহেতু গো আর্গুমেন্টগুলির জন্য ডিফল্ট মানগুলি সমর্থন করে না, তাই আপনাকে 1প্রতিবার ম্যানুয়ালি পাস করতে হবে ।


0

ব্যাচ, 237 99 বাইট

অনুমান ইনপুট প্রশ্নের সঠিক বিন্যাসে

@set s=%*
@set s=%s: 2=: The Lost Levels%
@set s=%s:USA=Bros. 2%
@set s=%s:Bros. 4=World%
@echo %s%

0

পাস্কাল (এফপিসি) , 184 182 বাইট

const s='Super Mario ';b='Bros.';m=s+b;var t:string;z:array[0..4]of string=(m+' 2',m+' 3',m,s+'World',m+': The Lost Levels');begin read(t);write(z[(length(t)+ord(t[19])*2)mod 5])end.

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

ব্যাখ্যা:

zঅ্যারে যা 5 টি সম্ভাব্য আউটপুট ধারণ করে, আমাদের কেবল এটির সূচী করার উপায় খুঁজে বের করতে হবে। আমি 2 টি পরামিতি লক্ষ্য করেছি যা ইনপুট পার্থক্য করতে ব্যবহার করা যেতে পারে। প্রথম অংশটি ইনপুটটির দৈর্ঘ্য:

Super Mario Bros.   -> 17
Super Mario Bros. 2 -> 19
Super Mario USA     -> 15
Super Mario Bros. 3 -> 19
Super Mario Bros. 4 -> 19

মাত্র 3 ইনপুট, একই দৈর্ঘ্য ইনপুট মধ্যে Mod 5. দ্বিতীয় অংশ যে, অবস্থান 19 আছে 2, 3এবং 4পরপর কোড পয়েন্ট, তাই তারা সহজে ইনডেক্স বাকি পূরণ করতে বাকি 2 ইনপুট হয় ব্যবহার করা যেতে পারে আছে খাটো।

Stringকরতে টাইপ করুন অক্ষমতা ShortStringএবং ডিফল্টরূপে, 255 অক্ষরের জন্য ক্ষমতা, সব শূণ্যসমূহ সঙ্গে সক্রিয়া হয়েছে তাই এটি ব্যবহার করার জন্য নিরাপদ t[19]সব স্ট্রিং উপর এবং তার কোডপয়েন্ট খাটো স্ট্রিং জন্য 0, সূচক জন্য কিছু পরিবর্তন নেই, তাই খাটো 'স্ট্রিং ইনডেক্স 0 এবং 2. অতএব, আমরা ইনডেক্স 1, 3 ও 4 প্রয়োজন 2, 3এবং 4

  | Codepoint |  *2 | +19 | mod 5
2 |        50 | 100 | 119 | 4
3 |        51 | 102 | 121 | 1
4 |        52 | 104 | 123 | 3

0

05 এ বি 1 ই , 37 বাইট

l„ 2“:€€‹×Œä“:'„À"bros. 2"©:®Y4:'‚ï:™

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন।

ব্যাখ্যা:

l                  # Convert the input to lowercase
 „ 2         :     # Replace " 2" with:
    “:€€‹×Œä“      #  ": the lost levels"
 '„À          :    # Then replace "usa" with:
    "bros. 2"      #  "bros. 2"
             ©     # And store the string "bros. 2" in the register
 ®                 # Retrieve "bros. 2" from the register,
  Y4:              # and replace its "2" with "4"
        :          # Then replace "bros. 4" with:
     '‚ï           #  "world"
™                  # Convert the result to title-case (and output implicitly)

আরও তথ্যের জন্য এটি দেখুন কেন “:€€‹×Œä“হয় ": the lower levels"; '„Àহয়"usa" ; এবং '‚ïহয় "world"

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