সংস্কৃতি পুরুষ উত্পাদন করুন


24

এই চ্যালেঞ্জটি মেম অফ কালচারের দ্বারা অনুপ্রাণিত হয়েছে ।

মেমসে মূল ক্যাপশনের অংশগুলি ফাঁকা করে দেওয়া হয়,

আহ, আমি দেখতে পাচ্ছি আপনিও সংস্কৃতির মানুষ।

চরিত্রটিকে অন্যরকম কিছু বলছে এমনটি উপস্থিত করার জন্য।

আপনার চ্যালেঞ্জটি এমন একটি প্রোগ্রাম লিখতে হয় যা একটি ইনপুট দেওয়া হলে দেখায় যে কীভাবে মূল বাক্যটি ফাঁকা রাখা যায় যে ইনপুট স্ট্রিংটি অর্জন ।

নিয়মাবলী:

  • -একটি ফাঁকা আউট চরিত্র উপস্থাপন করতে একটি অক্ষর ব্যবহার করুন ।
  • ইনপুট স্ট্রিংটি অর্জন করতে আপনাকে অতিরিক্ত অক্ষর যুক্ত করতে হবে না
  • আপনি স্ট্রিং তুলনা কেস-সংবেদনশীল হিসাবে বিবেচনা করতে পারেন
  • আপনি স্ট্রিং তুলনা করে সাদা স্থান উপেক্ষা করতে পারেন
  • যদি কোনও প্রতিস্থাপন সম্ভব না হয় তবে মিথ্যা মান আউটপুট করুন।
  • -প্রয়োজন না থাকলেও আপনি রিডানড্যান্ট হোয়াইটস্পেসের পাশাপাশি প্রতিস্থাপন করতে পারেন ।
  • যেখানে একাধিক সমাধান সম্ভব, আপনি সেগুলির কোনও আউটপুট করতে পারেন।

পরীক্ষার কেস:

বেসিক:

উদাহরণ মেম 1

Ah, I see you're a well.
> Ah, I see you're a --- -- ------- -- well.

মেম উদাহরণ 2

Ah, I see well.
> Ah, I see ------ - --- -- ------- -- well.

এজ কেস 1:

What did you just say about me, you little
> false

এজ কেস 2 (সম্পাদিত):

*no input*
> --- - --- ------ - --- -- ------- -- -----

অন্তর্বর্তী:

মেম 3 উদাহরণ

Ah, I see you're Orwell.
> Ah, I see you're - --- o- -----r- -- well.

মেম 4 উদাহরণ

Ah, ymca.
> Ah, - --- y----- - m-- -- c------ a- ----.

মেম 5 উদাহরণ

Ah, a manual.
> Ah, - --- ------ a man -- -u----- a- --l-.
OR: > Ah, - --- ------ a man -- -u----- a- ---l.

কঠিনতর:

মেম 6 উদাহরণ

tea.
> --- - --- ------ - --- -- ---t--e a- ----.

মেম 7 উদাহরণ

eeeee
> --- - -ee -----e - --- -- ------e -- -e---

টিএল; ডিআর: একটি ইনপুট স্ট্রিং দেওয়া, একটি স্ট্রিং আউটপুট দেয় যা উপস্থাপন করে যে ফাঁকা আউট অক্ষরের প্রতিনিধিত্ব করতে "-" ব্যবহার করে কীভাবে মূল স্ট্রিংটিকে ইনপুট স্ট্রিংয়ের সাথে মানানসই করা উচিত। যদি প্রতিস্থাপন সম্ভব না হয় তবে মিথ্যা মান আউটপুট করুন।

কোড গল্ফ, তাই বাইট জেতে সংক্ষিপ্ততম কোড।

সম্পাদনা: ব্যাখ্যা

  • স্ট্রিং তুলনায় হোয়াইটস্পেস উপেক্ষা করুন এর অর্থ আপনি স্ট্রিংগুলির তুলনা করার আগে হোয়াইটস্পেস সরিয়ে নিতে পারেন। উদাহরণস্বরূপ, ইনপুটগুলি Ah, a manualএবং Ah , a manualসমান হিসাবে বিবেচিত হয়। অন্যান্য বিরামচিহ্নগুলি , ' .অবশ্যই সংরক্ষণ করতে হবে। একইভাবে আউটপুট জন্য, Ah, a manualসমান Ah, amanual

  • বিকল্প রিডানড্যান্ট হোয়াইটস্পেস মূল ক্যাপশনে উপস্থিত স্পেসগুলিকে বোঝায়। আপনার এগুলি "-" দিয়ে প্রতিস্থাপন করার দরকার নেই, তবে যদি নেট আপনাকে আরও পয়েন্টগুলি প্রতিস্থাপন করে তবে এগিয়ে যান go


আপনার "অরওয়েল" আউটপুটটি ভুল বলে মনে হচ্ছে: আপনি প্রথমটির একটি 'চ' কে 'আর' তে পরিবর্তন করেছেন।
ড্রাকনিস

2
কোন আউটপুট "Ah,<5 SPACES HERE>a manual."ফলন করা উচিত ?
লিন

3
যদি প্রতিস্থাপন সম্ভব না হয় তবে মিথ্যা মান আউটপুট করুন। ঠিক আছে, ইনপুট বৈধকরণের প্রয়োজনীয়তা অত্যন্ত নিরুৎসাহিত।
এরিক আউটগল্ফার

2
আপনি স্ট্রিং তুলনা কে কেস-সংবেদনশীল হিসাবে বিবেচনা করতে পারবেন তার অর্থ কি আমাদের ইনপুটটিকে কেস-সংবেদনশীল হিসাবে বিবেচনা করতে হবে বা আমরা যেটা চাই না কেন ইনপুট নিতে সক্ষম হয়েছি? এছাড়াও, স্ট্রিং তুলনার সাথে আপনি হোয়াইটস্পেস উপেক্ষা করতে পারেন , আপনার অর্থ কি আমাদের স্পেসগুলি উপেক্ষা করতে হবে? এবং "রিডানড্যান্ট হোয়াইটস্পেস" কী?
এরিক আউটগল্ফার

1
আমি মনে করি "ইনপুট বৈধতা", আপনি যদি এটি কল করতে পারেন তবে এখানে @ ইরিকথ আউটগল্ফার
কনর ও'ব্রায়ান

উত্তর:


6

> <> , 94 বাইট

"vAh, I see you're a Man of Culture as well.
0/i~ <r
!\:?!^:}=0={:@*:@"-"$?$~}$:@?
<>~i+0)?;>o

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

কেস-সংবেদনশীল, সাদা স্থান বা বিরামচিহ্নকে উপেক্ষা করে না এবং যদি ইনপুটটি অবৈধ থাকে তবে একটি খালি স্ট্রিং আউটপুট দেয়। আপনি যদি অন্য স্ট্রিং ব্যবহার করে দেখতে চান "vতবে যতক্ষণ না এতে একটি "বা নাল বাইট না থাকে ততক্ষণ আপনি প্রথম পংক্তির পরে ঠিক পরিবর্তন করতে পারেন ।


5

রেটিনা 0.8.2 , 117 বাইট

^.
¶Ah, I see you're a Man of Culture as well.¶$&
{+i`¶(\W|(\w))(.*¶)(?(2)\W*\2)
$1¶$3
}1`¶\w
-¶
.*¶.*¶.*\w.*|¶.*¶.*

এটি অনলাইন চেষ্টা করুন! কেস-সংবেদনশীলতার প্রয়োজনে 1 বাইট সংরক্ষণ করতে পারে। ফিরে এসে 3 বাইট বাঁচাতে পারলাম--, - --- ---'-- - --- -- ------- -- ----.খালি ইনপুট এ । ব্যাখ্যা:

^.
¶Ah, I see you're a Man of Culture as well.¶$&

ইনপুটটিতে কাঙ্ক্ষিত পাঠ্য প্রস্তুত করুন।

{+i`¶(\W|(\w))(.*¶)(?(2)\W*\2)
$1¶$3

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

}1`¶\w
-¶

যদি ইনপুটটিতে কোনও মিলের অক্ষর না থাকে তবে এটিকে পরিবর্তন করুন - করুন এবং আবার চেষ্টা করুন।

.*¶.*¶.*\w.*|¶.*¶.*

যদি ইনপুটটিতে এখনও অক্ষর বাকী থাকে তবে সমস্ত কিছু মুছুন, অন্যথায় ইনপুটটির বাকী অংশগুলি মুছুন।


5

জেলি , 58 55 48 45 বাইট

“¬²Ẉ,ȷCIbƝɼeỴƤ/ɓIŒ;ṫṚS⁶_ŀỤ ṂB⁾÷ƈ»Ḣ”-1ị⁼ɗ?@€xṆ

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


আরও পঠনযোগ্য সংস্করণ:

“Ah, I see you're a man of culture as well.”Ḣ”-1ị⁼ɗ?@€xṆ

স্ট্রিং সংকোচনের ব্রেকডাউন:

Ah, I{short: see}{short: you}'re a{short: man} of{long: culture} as{short: we}ll.

3

পাইথন 2 , 126 114 বাইট

i=input()
r=''
for c in"Ah, I see you're a man of culture as well.":x=c==i[:1];r+=c*x or'-';i=i[x:]
print(i=='')*r

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


পাইথন 2 , 108 106 বাইট

ইনপুট হল অক্ষরের একটি তালিকা।

lambda i:''.join(c==`i`[2:3]and i.pop(0)or'-'for c in"Ah, I see you're a man of culture as well.")*(i==[])

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


(i=='')হতে পারে না (i<' ')(একটি ট্যাব ব্যবহার করে, সর্বনিম্ন মুদ্রণযোগ্য অক্ষর)?
জোনাথন ফ্রেচ


ভাল, আপনি সেখানে একটি পয়েন্ট পেয়েছেন ...
জোনাথন ফ্রেচ

2

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

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c>' '?/^(.)\1/i.test(c+x)?(x=x.slice(1).trim``,c):'-':c)

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

ব্যাখ্যা:

x =>                 // It takes in 'x' as parameter for function a string
    "Ah, I see you're a Man of Culture as well.". // What the actual is 
            .replace(                             // Now we are gonna replace 
                    /./g,     // selects everything 
                    c =>      // lambda function with param c
                        c > ' ' ?                 
                        /^(.)\1/i.test(           // does it all
                            c + x ) ?            // checks if there is a match
                            (x=x.slice(1). // returns everything from 1 to end in an array
                                trim`` ,   // removes whitespaces
                            c : '-' : c)   // and done

আরও হ্রাস করা যেতে পারে তবে '-' দিয়ে সাদা জায়গাগুলি প্রতিস্থাপন করে। যদি এটি গ্রহণযোগ্য হয়

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

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>/^(.)\1/i.test(c+x)?(x=x.slice(1).trim``,c):'-')

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

আরও কমিয়ে আনা হয়েছে শুধুমাত্র প্রদত্ত স্ট্রিংয়ের পরে থাকা সাদা স্থানগুলিকে '-' দিয়ে প্রতিস্থাপন করে।

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

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>/^(.)\1/i.test(c+x)?(x=x.slice(1),c):'-')

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


1
পাস করবেন নাWhat did you just say about me, you little
l4m2

আমি What did you just say about me, you littleপরীক্ষার ক্ষেত্রে আপনার কোডের জন্য সঠিক আউটপুট পাচ্ছি না । আপনার প্রোগ্রাম --- - --- ------ - --- -- ------- -- w----আউটপুট হিসাবে উত্পাদন করে যা চ্যালেঞ্জের অনুমানের প্রয়োজন হয় না।
0 '

2

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

x=>!!x&&(t="Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c>' '?/^(.)\1/i.test(c+x)?(x=x.slice(1).trim(),c):'-':c),!x&&t)

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

যদি "মে" এর অর্থ হয় হয় বা না করা ঠিক আছে, তবে

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

x=>x&&(t="Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c==x[0]?(x=x.slice(1),c):'-'),!x&&t)

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


2

ব্রেন-ফ্লাক , 764 600 বাইট

(((<>)))([]((((((([][][]()){}[]){})[][]){}))[[]()])[][]())([[]](([][](([][]){})[]){}())[[]])(([()()][]([[]]([()]([[]](((([()][][][])[]){}[]())[])[]))()()()))[[]])((([[][][]]((([](([()()()][]){})){})(()()()()){}())[[]])[]){})((((()((([][]){}())((()()()){}){})[[][][]]))){}{}())((()(((([]()()()())())){}{}()())[[][]]){}[])(([(()()()){}](((((()()()()){}[]))){}{}))((()()){}()){})(([()][][]([()()()][])))(((([][][]())[([]()()){}()])[]())[[]])([[]]((([]()())(()()()()){}){})()()()){([{}]<>({})){(<{}(((((()()()()())){}{})){}{})>)}{}(<({}<(<()>)<>{({}<>)<>}>{})>)<>{({}<>)<>}{}<>}{}<>{{{}}<>}<>{({}<>)<>}<>

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

জো কিংকে বড় উন্নতি , বিশেষত স্ট্রিং নির্মাণে, তবে মূল বডিটিতে কয়েকটি যৌক্তিক টুইট thanks তাঁর কাছ থেকে ব্যাখ্যা

এটি কেস-সংবেদনশীল (সুতরাং "আহ, আমি দেখছি আপনি অরওয়েল।" মিলছে না তবে "আহা, আমি দেখছি আপনি অর্ভেল।" করেন), ইনপুটটিতে শ্বেতস্পেস উপেক্ষা করা হবে না এবং মূল স্ট্রিংয়ের সাথে তুলনামূলক সাদা স্থান রয়েছে is রূপান্তরিত- । আমার বোঝার দ্বারা, এগুলি সবই বৈধ বিকল্প।

ব্যাখ্যা:

(476 bytes of much improved stack manipulation) #Push string

{ #While string
  ([{}]<>({})) #Check whether the top characters are equal
  {(<{}(((((()()()()())){}{})){}{})>)}{}  #If characters are not equal, push - on top of input
  (<({}<(<()>)<>{({}<>)<>}>{})>)<>{({}<>)<>}{}<>  #Take top of input (either - or matched char) and add to output
}{}
<>{{{}}<>} #Pop both stacks if input is left over
<>{({}<>)<>}<> #Reverse output

আপনি জানেন, ব্রেইন-ফ্লাকের স্বেচ্ছাসেবক পরীক্ষা উত্পাদন করতে স্বয়ংক্রিয়ভাবে সহায়তা করার জন্য আগে একটি প্রশ্ন ছিল । আমার নিজস্ব জমা (একাধিক পরিবর্তন সহ) পাঠ্যটি 506 বাইটে
জো কিং

বেশ কয়েকটি অন্যান্য উন্নতির সাথে আমি সর্বমোট 604 বাইটে নামলাম
জো কিং



@ জোকিং আপনি আমার ব্রেইন-ফ্লাক দেখে মনে হচ্ছে উন্নতি করতে খুব ভালো আছেন
কামিল দ্রাকারী

2

হাস্কেল , 182 174 172 171 170 169 বাইট

import Data.Char
t=toLower
a!b=(b:)<$>a
""%l=Just$'-'<$l
l@(a:b)%(c:d)|t a==t c=b%d!c|1>0=l%d!'-'
_%_=mempty
(%"Ah, I see you're a man of culture as well.").concat.words

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

Ungolfed:

import Data.Char

template = "Ah, I see you're a man of culture as well."

-- strip spaces
preprocess :: String -> String
preprocess = filter (/=' ')

-- case-insensitive character comparison
a#b = (toLower a) == (toLower b)

strike' :: String -> String -> Maybe String
strike' "" "" = Just ""  -- base case
strike' _ "" = Nothing   -- chars are exhausted, impossible to convert
strike' "" rem = Just $ '-' <$ rem  -- full match, strike rest of chars
strike' cur@(x:xs) (r:rs)
    | x # r     =   (r:) <$> strike' xs rs  -- character matches; pop a char
    | otherwise = ('-':) <$> strike' cur rs -- no match; strike char, don't pop

strike :: String -> Maybe String
strike xs = strike' (preprocess xs) template

1

প্রোলোগ (এসডাব্লুআই) , 109 বাইট

[]+[]+[].
I+[B|X]+[C|O]:-(I=[B|J],B=C;I=J,C=45),J+X+O.
I-O:-I+`Ah, I see you're a man of culture as well.`+O.

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

কেস-সংবেদনশীল এবং সাদা স্পেস সংবেদনশীল। দ্য-/2সম্পৃক্ত তার প্রথম যুক্তি ইনপুট STRING এবং দ্বিতীয় যুক্তি আউটপুট স্ট্রিং হচ্ছে হচ্ছে প্রধান সম্পৃক্ত হয়।



0

পাইথ , 78 বাইট এসবিসিএস

V." y°äz µÿéiSs¾ýØC[ócõ!ó5§n"=b.x@zZkIqbN=+kN=hZ.?=+k\-))I<Zlz!z.?k

টেস্ট স্যুট
কোডে উপস্থিত ছাপছাড়া অক্ষরগুলি, সঠিক সংস্করণের জন্য লিঙ্কটি দেখুন।
সংবেদনশীল কেস, সাদা স্থান উপেক্ষা করে না।


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