2 কল বাক্য গঠন বৈধ করুন!


11

যেহেতু কয়েকজন লোক ইদানীং লক্ষ্য করেছে, আমি বেশিরভাগ ক্ষেত্রেই ব্রেনগল্ফের বিকাশ ত্যাগ করেছি কারণ এটি বিরক্তিকর এবং অপ্রয়োজনীয়, এবং 2 কল এ চলে গেছে যা কিছুটা আকর্ষণীয় এবং গল্ফিং ভাষা হিসাবে নকশাকৃত নয়।

2 কলর সংজ্ঞায়িত বৈশিষ্ট্যটি হ'ল নিউলাইনটি বাদ দিয়ে কোডের প্রতিটি লাইন হ'ল 2 অক্ষর দীর্ঘ হওয়া উচিত। এর অর্থ হ'ল প্রোগ্রামের লাইনের সংখ্যাটি 3n-1কোথায় রয়েছে nতা 2 কল প্রোগ্রামের দৈর্ঘ্য সর্বদা গণনা করা যায়।

সুতরাং এখানে আমার চ্যালেঞ্জটি রয়েছে: 2 কল কোডটি একটি স্ট্রিং হিসাবে দেওয়া হয়েছে, যদি এটি বৈধ 2 কল কোড হয় তবে আউটপুট সত্য (প্রতিটি লাইন হ'ল 2 টি অক্ষর এবং এটি 3n-1সূত্রের সাথে সঙ্গতিপূর্ণ) এবং অন্যথায় মিথ্যা।

ইনপুট

ইনপুটটি একটি একক স্ট্রিং বা অক্ষরের একটি অ্যারে হিসাবে নেওয়া উচিত।

আউটপুট

যদি ইনপুট স্ট্রিংটি বৈধ লেআউট হয় তবে একটি সত্যবাদী মান এবং অন্যথায় একটি মিথ্যা মান।

আপনার কোডটি যে সত্যবাদী / মিথ্যা মান ব্যবহার করে তাতে সামঞ্জস্য হওয়া উচিত

Testcases

======
F!
$^
----
truthy
======


======
*8
+1
Sq
----
truthy
======


======
nop
xt
----
falsey
======


======
+1
+1
#^

----
falsey
======


======
<empty string>
----
falsey
======


======
ye
----
truthy
======


======
no<space>
----
falsey
======


======
test
----
falsey
======


======
puzzle
----
falsey
======

স্কোরিং

এটি এত কম বাইট জয়!


@ শেগি না, আপনি যদি কোনও কারণে ভাষা ব্যবহার করেন তবে তা trueমিথ্যা ও falseসত্যবাদী হিসাবে বিবেচনা না করে
স্কিডসদেব

1
@ স্টিফেনস করবে
স্কিডসদেব

@ মাইউব ধন্যবাদ, দুঃখিত, আমি এই এক্সডির সামনে "পারত" যোগ করতে ভুলে গেছি
স্টিফেন

আমি তোমাকে একটা পরীক্ষা ক্ষেত্রে যোগ সুপারিশ: puzzle। এটি এমন সমাধানগুলিকে তৈরি করবে যা স্ট্রিং মডুলো 3 এর পুরো দৈর্ঘ্য করে, পরে উপেক্ষিত (যা বর্তমানের সমস্ত পরীক্ষার ক্ষেত্রে কাজ করে) অবৈধ।
কমরেড স্পার্কলপনি

@ কমরেডস্পার্কলপনি করবে
স্কিডেদেব

উত্তর:


6

ব্র্যাচল্যাগ (2), 4 বাইট

ṇl₂ᵐ

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

সম্পূর্ণ প্রোগ্রাম (কারণ এটি একটি ; ব্র্যাক্ল্যাগ সম্পূর্ণ প্রোগ্রাম আউটপুট false.যদি কোনও দাবি ব্যতীত দৃser়তা ব্যর্থ হয় true.)।

ব্যাখ্যা

ṇl₂ᵐ
ṇ     Split input into lines
   ᵐ  For each line:
 l₂     Assert that that line has length 2

এতে থাকা সাবস্ক্রিপশনগুলি lব্র্যাচল্যাগের নতুন বৈশিষ্ট্যগুলির মধ্যে একটি (যদিও চ্যালেঞ্জের চেয়ে এখনও এটি পুরানো) এবং সেগুলি ব্যবহার করা এটি একটি ভাল চ্যালেঞ্জ।


যদিও ṇlᵛ2এবং ṇlᵛ²কাজ করবে।
সম্পর্কিত নয় স্ট্রিং

3

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

ফিক্সড প্রোগ্রাম এবং তিনটি বাইটের চাঁচা @ পুনপুন 1000 কে ধন্যবাদ

@ শেগি ধন্যবাদ জানায় এক বাইট বন্ধ

s=>/^(..\n)*..$/.test(s)

বৈধ হলে সত্য এবং মিথ্যা না হলে প্রত্যাবর্তন করে।

f=
s=>/^(..\n)*..$/.test(s)

t=
`22
22
22
22
22`

console.log(f(t));
console.log(f(t.slice(0, -1)));


কেবল এটি দেখলে আমি মনে করি না এটি দুটি পরীক্ষার ক্ষেত্রে কাজ করে (সত্যবাদী একটি মাত্র 2 টি অক্ষর এবং কোনও নতুন লাইন নয়, এবং অনুমানযোগ্য নতুন লাইনের সাথে মিথ্যা)। তবে s=>s.match(/^(..\n)*..$/)উভয়টি সঠিকভাবে
মিলাতে হবে

@ পুনপুন1000 আপনাকে ধন্যবাদ, আপনি সঠিক বলেছেন।
স্টিফেন

দুর্ভাগ্যক্রমে এটি অবৈধ কারণ 2 আউটপুট মান সুসংগত নয়। যাইহোক, আপনি এটি ঠিক করতে এবংtest পরিবর্তে ব্যবহার করে একটি বাইট সংরক্ষণ করতে সক্ষম হওয়া উচিত match
শেগি

@ শেগি ধন্যবাদ - কারণটি আমি যখন দেখলাম না যে আমি উত্তর দিয়েছিলাম কারণ এটি সবেমাত্র সম্পাদিত হয়েছিল
স্টিফেন

আমি জানি, সে কারণেই আমি এটিকে নির্দেশ করেছি;) আপনি হয়ত নিজের রিটার্নের মানগুলিতে নোটটি আপডেট করতে চাইতে পারেন।
শেগি

2

কিউবিক্স , 20 বাইট

সত্যের জন্য 1 এবং মিথ্যার পক্ষে কিছুই দেয় না

@1OuABq>;;?w-!$@;U_N

Cubified

    @ 1
    O u
A B q > ; ; ? w
- ! $ @ ; U _ N
    . .
    . .
  • ABq সমস্ত ইনপুট স্লাপ, এটিকে বিপরীত করুন এবং EOI (-1 )টিকে স্ট্যাকের নীচে টানুন
  • >;; লুপে প্রবেশ করুন এবং স্ট্যাক থেকে আইটেমগুলি সরান
  • ? EOI (-1) এর জন্য পরীক্ষা।
    • যদি 1uO@স্ট্যাকের জন্য 1 টিপুন পাওয়া যায় তবে পূর্ণসংখ্যার আউটপুট এবং থামার দিকে ইউ-টার্ন করুন
    • অন্যথায় লেন শিফটে যা পুনর্নির্দেশ করে তার _পিছনে প্রতিফলিত করুন?w
  • N-!$@;U স্ট্যাকের উপরে লাইন ফিড (10) টিপুন, বিয়োগ করুন, পরীক্ষার ফলাফল করুন, মিথ্যা হলে থামান এড়িয়ে যান, ফলাফলটি সরিয়ে এবং ইউ-টার্ন করুন
  • ;;> স্ট্যাক থেকে লাইন ফিডগুলি সরান এবং লুপে পুনর্নির্দেশ করুন।

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


2

পাইথন, 51

lambda s:all(len(l)==2for l in(s+"\n").splitlines())

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

tcs = {
    "F!\n$^": 1,
    "*8\n+1\nSq": 1,
    "nop\nxt": 0,
    "+1\n+1\n#^\n": 0,
    "": 0,
    "ye": 1,
    "no ": 0,
    "test": 0,
    "puzzle": 0
}
f = lambda s:all(len(l)==2for l in(s+"\n").splitlines())
for tc, expected in tcs.items():
    assert f(tc) == expected

2

হাস্কেল, 23 52 32 বাইট

all((==2).length).lines.(++"\n")

আমি কিছু অন্যান্য সমাধানের থেকে চালাক কৌতুক যে যোগ করার আমার অনুপ্রেরণা পেয়েছিলাম "\n"


আমি এটি স্থির করেছি, তবে আমার সংক্ষিপ্ত সমাধানটি আরআইপি করুন।
প্রোগ্রাম ম্যান



1

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

s=>!/^.?$|.../gm.test(s)

চেষ্টা করে দেখুন

f=
s=>!/^.?$|.../gm.test(s)
oninput=_=>o.innerText=f(i.value)
o.innerText=f(i.value=`F!
$^`)
<textarea id=i></textarea><pre id=o>


There's gotta be a shorter way to do this with RegEx! হ্যাঁ (এবং আমার সম্ভবত অনুকূল নয়)
স্টিফেন


1

জে-উবি , 19 18 বাইট

:=~&/^(..\n*)..$/m

:=~&একটি বেনাম ফাংশন তৈরি করে যা গ্রহণ করে xএবং ফিরে আসে 0যদি এটি রেজেক্সের সাথে মেলে /^(..\n*)..$/m, বা nilঅন্যথায়।


0

জাভা (ওপেনজেডিকে 8) , 25 বাইট

s->s.matches("(..\n)*..")

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

ইনপুট স্ট্রিংয়ের কোনও লাইন ফিড এবং একটি ছাড়াই একটি চূড়ান্ত রেখা অনুসরণ করে এমন কয়েকটি লাইন রয়েছে কিনা তা পরীক্ষা করে (কমপক্ষে একটি লাইন নিশ্চিত করে)


0

বাশ + জিএনইউ ইউটিলিটিস, 13

grep -qv ^..$

এটি শেলের রিটার্ন মান (অ্যাক্সেসযোগ্য $?) কে ভুজের জন্য 0 এবং সত্যের জন্য 1 সেট করে । এটি স্বাভাবিক শেল কনভেনশনের তুলনায় বিপরীত ধারণা , তাই সঠিক করার জন্য আপনার যা করা দরকার:

বাশ + জিএনইউ ইউটিলিটিস, 15

! grep -qv ^..$


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