মূলধন বা বিরামচিহ্ন পরিবর্তন না করে শব্দগুলি বিপরীত করুন


13

শব্দের ক্রম পাশাপাশি বিরামচিহ্ন এবং মূলধন অক্ষরগুলি তাদের প্রাথমিক জায়গায় রেখে প্রতিটি স্ট্রিংকে বিপরীতমুখী করতে সর্বনিম্ন পরিমাণে অক্ষর সহ একটি প্রোগ্রাম তৈরি করুন।

"শব্দের ক্রম দ্বারা," এর অর্থ হ'ল প্রতিটি শব্দ একটি ফাঁকা স্থান ("") দ্বারা বিভক্ত, সুতরাং সংকোচনের ফলে এবং এই জাতীয় শব্দটিকে একটি শব্দের হিসাবে বিবেচনা করা হবে। সংকোচনের ক্ষেত্রে অ্যাস্টোস্ট্রোফ একই জায়গায় থাকা উচিত। ("করবেন না" = "" না ")।

(বিরামচিহ্নের অর্থ এমন কোনও অক্ষর যা এজেড, এজেড বা হোয়াইটস্পেস নয়)।

  • আপনার মূলধন সংখ্যা থাকতে পারে না এই কারণে এই তালিকা থেকে নম্বরগুলি সরানো হয়েছে। সংখ্যাগুলি এখন বিরামচিহ্ন হিসাবে বিবেচিত হয়।

উদাহরণস্বরূপ, ইনপুটটির জন্য:

Hello, I am a fish.

এটি আউটপুট করা উচিত:

Olleh, I ma a hsif.

লক্ষ্য করুন যে ও, যা প্রথম শব্দের প্রথম অক্ষর, এখন মূলধন, যেহেতু এই একই জায়গায় পূর্বে ছিল মূলধন।

কমা এবং পিরিয়ডও একই জায়গায়।

আরও উদাহরণ:

This; Is Some Text!

আউটপুট হবে

Siht; Si Emos Txet!

যে কোনও ভাষা ব্যবহার করা যেতে পারে। সর্বনিম্ন পরিমাণের অক্ষরের সাথে প্রোগ্রামটি জয়ী হয়।


3
সংকোচন কিভাবে চিকিত্সা করা উচিত? এটাই নাকি Don't touch that!মানচিত্র t'noD hcuot taht!করে noD't hcuot taht!?
ডিএমকেকে --- প্রাক্তন মডারেটর বিড়ালছানা

2
@ ডিএমকেই "(বিরামচিহ্নের অর্থ এমন কোনও অক্ষর যা আজ, এজেড, 1-9 বা সাদা স্থান নয়)"
জন ডিভোরাক

1
@ ডিএমকেকে যাতে মানচিত্র করা উচিতNod't hcuot tath!
জন ডিভোরাক

1
প্রতিটি শব্দ বিপরীত করা সহজ। প্রতিটি শব্দ বিপরীত এবং মূলধন রাখা হয় না।
জন ডিভোরাক

1
হ্যাঁ, এটি চ্যালেঞ্জ;) কেবল তাদের বিপরীত করা খুব সহজ হবে এবং সম্ভবত ব্যবহৃত ভাষায় নেমে আসবে। এটি আপনাকে ভাবিয়ে তোলার উদ্দেশ্যে।
ন্যাসনফিশ

উত্তর:


7

গল্ফস্ক্রিপ্ট, 58 54 48 টি অক্ষর

" "/{.{65- 223&26<}:A,\{.A{96&\)31&@+}*}%+}%" "*

এটি একটি গল্ফস্ক্রিপ্ট সমাধান যা দীর্ঘ হয়ে গেছে। কোডের প্রচুর পরিমাণে আসলে কোনও অক্ষর একটি-জেডএ-জেডে রয়েছে কিনা তা সন্ধান করছে। হতে পারে যে কেউ এটির পরীক্ষা করার আরও ছোটতম উপায় খুঁজে পেতে পারেন।

আপনি অনলাইন কোড চেষ্টা করতে পারেন । উদাহরণ:

> Hello, I am fish.
Olleh, I ma hsif.

> This; Is Some Text!
Siht; Si Emos Txet!

> Don't try this at home.
Tno'd yrt siht ta emoh.

অনলাইন গল্ফস্ক্রিপ্ট সম্পাদকটি দরকারী মনে হচ্ছে। বুকমার্কিং, ধন্যবাদ
জন ডিভোরাক

আপনি চূড়ান্ত টান করতে পারেন " "ভিতরে %এক সংরক্ষণ করুন। আমি 11 টি অক্ষরের জন্য a-zA-Z পরীক্ষার অন্যান্য উপায়গুলি পেয়েছি, তবে এখনও 10 এর জন্য কিছুই নেই
পিটার টেলর

4

এপিএল 69

এর মাধ্যমে স্ক্রিন ইনপুট নেয়: t ← ⍞ ⍞

⎕av[1↓∊(↑¨v),¨((¯1×⌽¨z)+z←¯32×~1↓¨v>97)+¨⌽¨1↓¨v←(+\v<66)⊂v←0,⎕av⍳t←⍞]

এপিএলকে ইউটিএফ -8 বাইটে গণনা করা উচিত নয়? :-)
জন ডিভোরাক

@ জনডভোরাক এপিএল + উইন ভি 5 অক্ষর সেটটি একক বাইট। অক্ষরগুলি সঠিকভাবে রেন্ডার করার জন্য আমাকে এখানে পোস্ট করতে ইউটিএফ -8 এ রূপান্তর করতে হবে। ভ্যাটটি ভেক্টর টিতে অক্ষরের জন্য 0-255 থেকে নির্ধারিত অক্ষরটিতে একটি সূচক ফেরত দেয়।
গ্রাহাম

4

Coffeescript, 134 133 টি অক্ষর

alert prompt().replace /\S+/g,(x)->c=x.match r=/[a-z]/gi;return x.replace r,(y)->return c.pop()[`(y<"a"?"toUpp":"toLow")`+"erCase"]()

Coffeescript (কোড গল্ফের উদ্দেশ্যে) জাভাস্ক্রিপ্টের সামান্য ঘন সংস্করণ। এটিতে টেরিনারি অপারেটর নেই, তবে এটি জাভাস্ক্রিপ্টে পালাতে পারে।

জাভাস্ক্রিপ্ট সংস্করণ এখানে:

জাভাস্ক্রীপ্ট, 152 151 টি অক্ষর

alert(prompt().replace(/\S+/g,function(x){c=x.match(r=/[a-z]/gi);return x.replace(r,function(y){return c.pop()[(y<"a"?"toUpp":"toLow")+"erCase"]()})}))

ইন্ডেন্টযুক্ত:

alert(prompt().replace(/\S+/g,function(x){
  c=x.match(r=/[a-z]/gi);
  return x.replace(r, function(y){
    return c.pop()[(y<"a"?"toUpp":"toLow")+"erCase"]()
  })
}))

2

রুবি: 89 টি অক্ষর ( -pস্যুইচের 1 টি সহ )

না কপি জানুয়ারী ডিভোরাক এর CoffeeScript সমাধান , কিন্তু অনেক প্রচেষ্টার পরে আমার কোড একটি সঠিক অনুলিপি মত খুঁজছেন শেষ পর্যন্ত। একটি অবচেতন ভয়েস সম্ভবত " সাদা খরগোশ জান দ্বোড়াককে অনুসরণ করুন " ফিসফিস করে বলতে লাগল । সুতরাং অ্যালগরিদমের জন্য উর্ধ্বতনগুলি তার উত্তরে যাওয়া উচিত।

$_.gsub!(/\S+/){|m|l=m.scan r=/[a-z]/i;m.gsub(r){|c|l.pop.send c<?a?:upcase: :downcase}}

নমুনা রান:

bash-4.2$ ruby -p reverse-word.rb <<< "Hello, I am a fish.
This; Is Some Text!
Don't touch that!
S'm00ch1e"
Olleh, I ma a hsif.
Siht; Si Emos Txet!
Tno'd hcuot taht!
E'h00cm1s

0

লুয়া, 143

print(((io.read"*l"):gsub("%w+",function(s)local r=""for i=1,#s do r=("")[s:byte(-i)>96 and"lower"or"upper"](s:sub(i,i))..r end return r end)))

চমৎকার চেষ্টা করুন, তবে এটি
বিশিষ্ট

সম্পাদনা: ওহ আমি এখন দেখছি
এমনিপ

-1

ইকামাস্ক্রিপ্ট ((১১২ টি অক্ষর)

ইনপুট সরবরাহ করা হয় s

alert(s.replace(/\S+/g,x=>(_=x.match(X=/[a-z]/gi),x.replace(X,a=>_.pop()[(a<"a"?"toUpp":"toLow")+"erCase"]()))))

@ জন দোরভাকের উত্তরের ভিত্তিতে


-2

সি # (375)

 public static string rev(string s)
    {
        var r = new Regex("[^A-za-z]");

        var result = "";
        var token = "";
        foreach (var c in s)
        {
            if (!r.IsMatch(c + ""))
            {
                token += c;
            }
            else
            {
                result += new string(token.Reverse().ToArray());
                result += c;
                token = "";
            }
        }

        var arr = result.ToArray();
        int i = 0;
        foreach (var c in s)
        {
            arr[i] = char.IsUpper(c) ? char.ToUpper(arr[i]) : char.ToLower(arr[i]);
            i++;
        }

        result = new string(arr);
        return result;
    }

minified

public static string rev(string s){var r=new Regex("[^A-za-z]");var result="";var token="";foreach(var c in s){if(!r.IsMatch(c+"")){token+=c;}else{result+=new string(token.Reverse().ToArray());result+=c;token="";}}var arr=result.ToArray();int i=0;foreach(var c in s){arr[i]=char.IsUpper(c)?char.ToUpper(arr[i]):char.ToLower(arr[i]);i++;}result=new string(arr);return result;}

এটা করা উচিত নয় A-Za-z?
সাইয়েস

@ কিয়েস একটি সামান্য বিশদ: [A-z]নয় [A-Za-z]। প্রথমটি হ'ল একটি সাধারণ (?) ভুল, 'কারণ এতে অ বর্ণমালা অক্ষর রয়েছে।
এরিক আউটগল্ফার

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