আমার উত্স ক্রমযুক্ত, আপনার?


14

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

ইনপুটটি "ক্রমযুক্ত" এবং অন্যটি না থাকলে আপনাকে অবশ্যই একটি মান ফেরত দিতে হবে। মানগুলি পৃথক হতে হবে তবে আউটপুট মানগুলিতে অন্য কোনও বিধিনিষেধ নেই। উদাহরণস্বরূপ, যদি আপনি / রিটার্ন / আউটপুট প্রিন্ট করতে পারে trueজন্য !1AQaq¡±(অনুক্রমে) এবং falseজন্য aq!QA। দুটি স্বতন্ত্র মান সত্যবাদী বা মিথ্যা বা এর মতো কিছু হওয়ার দরকার নেই, কেবল দুটি স্বতন্ত্র মান। বারবার স্ট্রিংগুলি (যেমন। aa) ক্রমযুক্ত in

আপনার কেবল ইউনিকোড U+007E( ~) 126 অবধি সমর্থন করতে হবে

যাইহোক, আপনার প্রোগ্রামের অক্ষরগুলি নিজেই ক্রমযুক্ত হওয়া উচিত। শুভকামনা এবং শুভ আইএনজি!


আপনার সত্য / মিথ্যা মান থাকতে হবে না? দুটো সত্যই কাজ করবে?
আর

এছাড়াও, সর্বনিম্ন চর কোডটি সর্বদা প্রথম চরে থাকে? না কি তা বিপরীত হতে পারে?
আর

12
কোড-গল্ফ সত্যই সীমিত উত্সের এই ফর্মটির জন্য খারাপ অবস্থার মতো মনে হচ্ছে। সর্বাধিক অনন্য অক্ষরের জন্য কোড বোলিং আরও আকর্ষণীয় হবে।
fəˈnɛtɪk

1
@ পাভেল পপ কনস একটি নির্দিষ্ট উপায়ে একটি নির্দিষ্ট কাজ অর্জনের জন্য ভাল কাজ করে না।
ডেনিস

2
ক্রম পুনরাবৃত্তি স্ট্রিং হয়? উদাহরণস্বরূপ, "aa"ক্রম হয়?
tsh

উত্তর:


14

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

.o

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

ব্যাখ্যা

.o
.   Assert that {the input} equals the output of the last command in the program
 o  Sort {the input}

একটি সম্পূর্ণ প্রোগ্রাম হিসাবে, একটি দৃ .় ব্যর্থতা দেয় false., যে কোনও সফল রান যা কোনও জোর দেওয়া লঙ্ঘন করে নাtrue.


9

জেলি , 2 বাইট

Ṣ⁼

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

ব্যাখ্যা

Ṣ⁼
Ṣ    Sort {the input}
 ⁼   Compare that to {the input} for equality of the whole structure

⁼Ṣ সঠিক কার্যকারিতাও রয়েছে ("সাজানো ইনপুটটির সাথে ইনপুটটি তুলনা করুন"), সুতরাং এটি দুটি ক্রিয়াকলাপটি নিজেরাই চালিত করার ঘটনাটি ছিল যা সঠিক ছিল তা নির্ধারণ করার জন্য (আমার কাছে অবশ্যই এই অংশটির ইউনিকোড কোডপয়েন্ট নেই) জেলি এর অদ্ভুত চরিত্র সেট মুখস্থ)।


জেলি এনকোডিংয়ে আপনার জমাটি ভুল, এর ⁼Ṣপরিবর্তে এটি হওয়া দরকার । আপনি এখানে জেলি এর কোডপেজ দেখতে পারেন ।
এরিক আউটগল্ফার

@ এরিকথ আউটগল্ফার এটি সহজেই স্থির করা হয়েছে; ⁼Ṣঠিক হিসাবে একই Ṣ⁼
স্টেইনবার্গ

@ সটেনবার্গ এই জমাটি এখনই যেমনটি অবৈধ। যদিও ফিক্সটি সহজ, এটি এখনও প্রয়োগ করা হয়নি, এবং অন্যদের কোড সম্পাদনা করতে নিরুৎসাহিত করা হয়েছে।
এরিক আউটগলফার

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

@ সটেনবার্গ আমি কোনটিই কম দেখিনি, আমি কেবল আইআইএস ২৩৩ কে অবহিত করছি :)
এরিক দ্য আউটগল্ফার

9

এমএটিএল , 5 বাইট

GGS\a

অন্যথায় 0ইনপুট ক্রমযুক্ত থাকলে আউটপুট 1

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

ব্যাখ্যা

এটি বাছাই করা ইনপুটটিতে একই সূচির সাথে ইনপুট থেকে প্রতিটি চরের (কোড পয়েন্ট) মডিউলকে গণনা করে। সমস্ত ফলাফল থাকলে এবং যদি ইনপুটটি ক্রমে থাকে 0

উদাহরণস্বরূপ, ইনপুট স্ট্রিং বিবেচনা করুন BCD!। এটি বাছাই দেয় '!BCD। কোড পয়েন্টগুলির অ্যারে যথাক্রমে [66 67 68 33]এবং [33 66 67 68]। মডুলি গণনা দেয় [0 1 1 33]তাই ইনপুট ক্রমযুক্ত হয় না। 0মানগুলি একইরকম না থাকলেও কীভাবে কিছু ফলাফল হতে পারে তা লক্ষ্য করুন (এখানে প্রথম অবস্থানে এটি ঘটে) তবে ইনপুট ক্রম না থাকলে সমস্ত এন্ট্রিগুলিতে এটি ঘটতে পারে না ।

G     % Push input string
GS    % Push input string and sort it
\     % Modulus, element-wise. This gives all zeros iff the input was in order
a     % Any: gives 1 if any entry is non-zero. Implicitly display

8

05 এ বি 1 , 3 2 বাইট

আমার উত্স কোডের 33% কেটে দেওয়ার জন্য কেভিনকে ধন্যবাদ!

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

ব্যাখ্যা:

      There used to be a D here for 'Duplicate stack' 
      but we now use the same input twice implicitly
 {    Sort the copy
  å   Check if the sorted copy is a substring of the original
      This will only return 1 if the original input is sorted, 0 otherwise.

D{Qএছাড়াও কাজ করে ...
নীল এ।

1
@ নীলা.এটি একই কাজ করতে পারে তবে চরিত্রগুলি ক্রমযুক্ত নয়। প্রয়োজনীয়তাটি হ'ল আপনার উত্স কোডটি ডেটার মতো একই পরীক্ষায় পাস করে। এটি 1 ফলন করা উচিত
স্টেইনবার্গ

1
কেবল একবার Dঅন্তর্নিহিত ইনপুট ব্যবহার করে -1-এর জন্য মুছে ফেলা যায়।
কেভিন ক্রুইজসেন


5

2sable , 2 বাইট

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

ব্যাখ্যা

{    # sorted input
 Ê   # not equals (implicit input)

আউটপুট 0 যদি এটি অর্ডার হয়, অন্যথায় 1


1
@ সেন্টেনবার্গ: আহ, চ্যালেঞ্জের সেই অংশটি মিস করেছেন।
এমিগানা

1
@ স্যাটেনবার্গ: স্থির! ভাগ্যক্রমে আমরা কোনও স্বতন্ত্র মান আউটপুট করতে পারি :)
এমিগানা

2

পাইথ, 2 বাইট

<S

Falseবাছাই করা মানে, বাছাই করা Trueমানে।

পরীক্ষা স্যুট

এটি আসতে মোটামুটি অনানুষ্ঠানিক ছিল। সীমাবদ্ধ উত্স ব্যতীত এই সমস্যার সর্বাধিক সুস্পষ্ট সমাধান হ'ল SI, বাছাইয়ের আওতায় আক্রমণকারী। তবে সেটি সাজানো হয়নি। তারপরে আমি ভেবেছিলাম qS, যা সুস্পষ্টভাবে দু'বার ইনপুট ভেরিয়েবল ব্যবহার করে, এটি এটির বাছাই করা স্বের সমান কিনা তা পরীক্ষা করে। তবে যখন q < s, q > Sসুতরাং এটি কোনও কাজ করে নি। তবে এর <আগে আসে S, এবং সল্ট করা সংস্করণটি মূলটির তুলনায় কম না হতে পারে একমাত্র উপায়, যেহেতু বাছাই করা সংস্করণটি উপাদানগুলির অভিধানিকল্পিতভাবে ন্যূনতম অনুক্রম হয়।


1

সিজিএল (সিজিএল গল্ফিং ল্যাঙ্গুয়েজ) , 4 বাইট (প্রতিযোগী নয়)

-:Sc

ব্যাখ্যা:

- Decrement the stack counter so the current stack is where input is put
: Split the first element of the current stack (input) into an array of single strings, make that the next stack, and increment the stack counter
S Sort the current stack
c Compare the current stack and the one before, push that to the next stack and increment the stack counter
(implicit) Output the first element of the current stack, true if in order, false if not.

অ-প্রতিযোগিতামূলক কারণ :, Sএবং cএই চ্যালেঞ্জটি তৈরি হওয়ার পরে প্রয়োগ করা হয়েছিল।


এই চ্যালেঞ্জের আগে এই ভাষাটি তৈরি করা হয়েছিল তার কোনও প্রমাণ আছে কি?
ব্যবহারকারী 41805

@ ক্রিটিক্সিলিথোস হ্যাঁ, এবং এটি প্রযুক্তিগতভাবে একটি বৈধ ভাষা, তবে আমি এটি অ-প্রতিযোগিতামূলক করব কারণ এটি সম্পন্ন করার জন্য প্রয়োজনীয় কাজগুলি এই চ্যালেঞ্জের পরে করা হয়েছিল। সিজিএল এখনও কাজ চলছে এবং আমি কোন নতুন ফাংশন যুক্ত করা উচিত তা দেখানোর জন্য আমি চ্যালেঞ্জগুলি ব্যবহার করছি।
programmer5000
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.