সাইন ইন 2 শব্দ!


17

সাইন ইন 2 শব্দ!

খুব বেশি দিন আগে নয়, আমি সেই শব্দটি সাইন করে একটি চ্যালেঞ্জ পোস্ট করেছি ! । চ্যালেঞ্জ, আপনি শব্দের স্বাক্ষর, যা অক্ষর অনুক্রমে করা (যেমন স্বাক্ষর হয় খুঁজে বের করতে হবে thisহয় hist)। এখন, সেই চ্যালেঞ্জটি বেশ ভাল করেছে, তবে একটি মূল সমস্যা ছিল: এটি খুব সহজ উপায় ছিল ( গল্ফস্ক্রিপ্টের উত্তরটি দেখুন )। সুতরাং, আমি একটি অনুরূপ চ্যালেঞ্জ পোস্ট করেছি, তবে আরও নিয়ম সহ, যার বেশিরভাগই পিপিসি ব্যবহারকারীরা পূর্ববর্তী ধাঁধাতে মন্তব্যগুলিতে পরামর্শ দিয়েছেন। তো, আমরা এখানে যাই!

বিধি

  1. আপনার প্রোগ্রাম অবশ্যই একটি ইনপুট নিতে হবে, তারপরে স্বাক্ষরটি STDOUT এ আউটপুট করুন বা আপনার যে কোনও ভাষা ব্যবহার করুন equivalent
  2. আপনাকে বিল্ট-ইন বাছাইয়ের ক্রিয়াগুলি ব্যবহার করার অনুমতি নেই, সুতরাং $গল্ফস্ক্রিপ্টের মতো জিনিসগুলি অনুমোদিত নয়।
  3. মাল্টিকেসকে অবশ্যই সমর্থন করতে হবে - আপনার প্রোগ্রামে অবশ্যই বড় হাতের এবং ছোট হাতের অক্ষরের দুটি করে গ্রুপ করতে হবে। সুতরাং স্বাক্ষরটি Helloহ'ল eHllo, Helloযেমন আপনি প্রথম সংস্করণে গল্ফস্ক্রিপ্ট উত্তর দিয়েছিলেন।
  4. আপনার প্রোগ্রামটির জন্য অবশ্যই একটি নিখরচায় দোভাষী / সংকলক থাকতে হবে, যার সাথে আপনার লিঙ্ক করা উচিত।

স্কোরিং

আপনার স্কোরটি আপনার বাইট গণনা। সর্বনিম্ন বাইট গণনা জয়।

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes


2
ছোট এবং বড় হাতের অর্ডার দিতে হবে? উদাহরণস্বরূপ, জন্য ThHihs, আমরা আউটপুট করতে পারি hHhistবা আমাদের আউটপুট করতে হবে hhHistবা Hhhist?

2
@ Kslkgh প্রশ্নটি বোঝার জন্য আমি গল্ফস্ক্রিপ্ট দোভাষীটি ইনস্টল করতে চাই না। প্রয়োজনীয়তাগুলি প্রশ্নে নিজেই স্পষ্টভাবে নির্দিষ্ট করা উচিত।

1
পছন্দ করুন একটি অনলাইন দোভাষীর উত্তরের একটি লিঙ্ক আছে। তবে আমি এটি আরও পরিষ্কার করব।

8
ইউনিকোডে নিম্ন / উচ্চতর কেসটি সঠিকভাবে পরিচালনা করা ভীতিজনক, সুতরাং এই প্রশ্নটি কি স্বেচ্ছায় ASCII অক্ষরের মধ্যে সীমাবদ্ধ: [a-zA-Z]?
ম্যাথিউ মিঃ

3
"এই গল্ফস্ক্রিপ্ট উত্তর দেখুন" এর পরে আপনি বন্ধনী বন্ধ করতে ভুলে গেছেন। xkcd.com/859
nyuszika7h

উত্তর:


11

পাইথ, 10 বাইট

sm@+drd1zG

অনলাইনে চেষ্টা করুন: বিক্ষোভ

ব্যাখ্যা:

             implicit: z = input string
 m       G   map each letter (variable d) of the alphabet to:
   +drd1        d + upper(d)
  @     z       filter z for these two letters
s            sum, join to a string

5

হাস্কেল, ৫১

f s=[x|(a,b)<-zip['a'..'z']['A'..],x<-s,x==a||x==b]

zipঅক্ষরের জোড়া একটি তালিকা তৈরি করে [('a','A'), ...('z','Z')]। ছাঁটাইয়ের কারণে, দ্বিতীয় শেষ পয়েন্টটি নির্দিষ্ট করার দরকার নেই। তালিকার প্রতিটি জুটির জন্য, আমরা ইনপুট স্ট্রিংয়ে sঅক্ষরগুলি গ্রহণ করি যা জোড়ায় দুটি অক্ষরের একটি।


5

পাইথন 3, 72 70 বাইট

s=input()
print("".join(d*(ord(d)&31==c)for c in range(27)for d in s))

ধরে নিই ইনপুটটি কেবলমাত্র নিয়ে গঠিত [a-zA-Z]

(-২ বাইট @ এক্সনোরকে ধন্যবাদ)


আমার মনে হয় আপনি কি করতে পারেন "".join(c*b ...)জন্য "".join(c ... if b) একই ভাবে sum(n ... if b)হতে পারে sum(n*b ...)
xnor

সেন্ডিনেলের সাহায্যে দুটি লুপকে একটি একক লুপে c=1 for d in(input()+'~')*26:print(d[ord(d)&32^c:],end='');c+=d>'z'
ভেঙে দেওয়া

@ এক্সনর আমি প্রথম টিপটি যোগ করেছি (ধন্যবাদ!) তবে আমার মনে হয় আপনার দ্বিতীয়টি পৃথক উত্তর হিসাবে পোস্ট করা উচিত :)
Sp3000

4

GOTO ++, 531 বাইট

niveaugourou 0
s=ENTRETONTEXTE()
§2 a=LeCaracNumero()&s *(1)
n=*(1)
costaud i=*(2)/&i infeg NombreDeLettres(&s)/i=+*(1)
b=LeCaracNumero()&s &i
c=&b
d=&a
GOTONULPOURLESNULS %4 }&b sup *(96){
c=-*(32)
§4 GOTONULPOURLESNULS %5 }&a sup *(96){
d=-*(32)
§5 GOTONULPOURLESNULS %1 }&c inf &d{
a=&b
n=&i
§1 faiblard
GOTOPRINTDUTEXTE()&a
s=Marijuana()}BOITEAPINGOUINS()}PrendsUnMorceau()&s *(0) &n{ }PrendsUnMorceau()&s }&n+*(1){ *(0){{ «»
GOTONONNULPOURLESNULS %3 }NombreDeLettres(&s) eg *(1){
GOTOPASMALIN %2
§3 GOTOPRINTDUTEXTE()&s

GOTO ++ প্রকল্প পৃষ্ঠা

কোডটির আরও স্বল্প ও বেশি পাঠযোগ্য এবং মন্তব্য করা সংস্করণ এখানে রয়েছে (নোট যে GOTOগোটো ++ এ একটি মন্তব্য শুরু করে):

niveaugourou 0                                          GOTO Allow every keyword to be used
s=ENTRETONTEXTE()                                       GOTO Read from STDIN
§2 a=LeCaracNumero()&s *(1)                             GOTO Get first char in s
n=*(1)                                                  
costaud i=*(2)/&i infeg NombreDeLettres(&s)/i=+*(1)     GOTO Loop on every char of s
b=LeCaracNumero()&s &i                                  GOTO b = i-th char
c=&b                                            
d=&a
GOTONULPOURLESNULS %4 }&b sup *(96){                    GOTO If b is uppercase, goto §4 
c=-*(32)                                                GOTO Get the uppercase ASCII value of b
§4 GOTONULPOURLESNULS %5 }&a sup *(96){                 GOTO same as above but with a
d=-*(32)                                                
§5 GOTONULPOURLESNULS %1 }&c inf &d{                    GOTO If b is after a in alphabetical order, goto §1 (next loop iteration)
a=&b                                                    GOTO Else replace a by b
n=&i                                                                
§1 faiblard                                             GOTO End loop
GOTOPRINTDUTEXTE()&a                                    GOTO Print the value of a
t=PrendsUnMorceau()&s *(0) &n                           GOTO Get the part of s before a
u=PrendsUnMorceau()&s }&n+*(1){ *(0)                    GOTO Get the part of s after a
e=BOITEAPINGOUINS()&t &u                                GOTO Create an array of penguins containing the two substrings
s=Marijuana()&e «»                                      GOTO Concatenate the penguins in the array
GOTONONNULPOURLESNULS %3 }NombreDeLettres(&s) eg *(1){  GOTO If s is one char long, goto §3
GOTOPASMALIN %2                                         GOTO Else goto §2
§3 GOTOPRINTDUTEXTE()&s                                 GOTO Print the last char

2
দুর্দান্ত প্রোগ্রামিং ভাষার চিহ্ন: সমস্ত কমান্ডগুলি ফরাসি ভাষায় রয়েছে এবং অফিসিয়াল ওয়েবসাইটটি বলে "আপনার লোগোটি প্রেরণ করুন এবং বোবা চেহারা" "
অ্যালেক্স এ

@AlexA। একটি দুর্দান্ত প্রোগ্রামিং ভাষার চিহ্ন: function(arg)এবং function() argউভয়ই বৈধ। এছাড়াও, অগ্রাধিকার বন্ধনীগুলি } {বিরক্তিকর নয়( )
ফ্যাটালাইজ করুন

4

পাইথ, 15 14 বাইট

s*V/LzJ.irG1GJ

1 বাইট অপসারণ করার জন্য isaacg ধন্যবাদ।

পাইথ সম্পর্কে আমি এখনও বেশি কিছু জানি না, তাই এটি খুব ভালভাবে চালিত হতে পারে না।

এখানে চেষ্টা করুন।


এক সহজ গলফ: sহিসাবে একই jkস্ট্রিং তালিকায়।
isaacg

4

জাভাস্ক্রিপ্ট (ES6), 71 74

এ-জা-জেড-তে সীমাবদ্ধ (@ ম্যাথিউ এম এর মন্তব্য দেখুন)

'রিটার্ন' এড়ানোর জন্য কমা দিয়ে একক অভিব্যক্তি রচনা করতে খুব বেশি সম্পাদনা করুন । এখানে একটি আউটপুট প্রয়োজন, তাই আমি একটি সাধারণ ব্যবহার করতে forএবং কমা সম্পর্কে ভুলে যেতে পারি ।

অ্যারে বোধগম্যতা ব্যবহার করে বাইট গণনাটি 73, তবে এটি আর বৈধ একমাস্ক্রিপ্ট নয়

সাধারণ নোট: যে কোনও ইকামাস্ক্রিপ্ট comp অনুবর্তী ব্রাউজারে স্নিপেট চলমান পরীক্ষা করুন (উল্লেখযোগ্যভাবে ক্রোম এমএসআইই নয়, আমি ফায়ারফক্সে পরীক্ষা করেছি, সাফারি 9 যেতে পারে)

f=w=>{v=[];for(c of w)v[n=parseInt(c,36)]=(v[n]||'')+c;alert(v.join``)}
<input id=I value='Hellzapoppin'><button onclick=f(I.value)>-></button>


4

জাভাস্ক্রিপ্ট, 112 194 বাইট

r=[];t=[];a=s.split('').map(function(x){t[i=parseInt(x,36)]?t[i].push(x):t[i]=[x];return i;});while(l=a.length)r[l-1]=t[a.splice(a.indexOf(Math.max.apply({},a)),1)].pop();console.log(r.join(''))

এটি "গল্ফড" থেকে অনেক দূরে তবে আমি এখনই কিছুটা ব্যস্ত, সাজানো সরিয়ে ফেলতে কেবল সম্পাদনা করেছি।


1
@ ফ্রিকিনসাইড যদিও বাছাই নিষিদ্ধ করার পরে এটি এই সমাধানে সহায়তা না করতে পারে, জাভাস্ক্রিপ্ট ES6 তীর ফাংশন এটি সংক্ষিপ্ত করতে সহায়তা করতে পারে। (সমস্ত ব্রাউজারগুলি এখনও ES6 সমর্থন করে না, ফায়ারফক্স চেষ্টা করুন)। যদিও এটি আপনার ভবিষ্যতের সমাধানগুলিতে সহায়তা করবে! :) এটি দেখতে কেমন হতে পারে তার একটি উদাহরণ:console.log(input.split('').sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).join(''))
21:38

@ সংজ্ঞায়িত ফাংশন আসলে আমি "চ্যালেঞ্জ" জন্য উদ্দেশ্য হিসাবে সরল জাভাস্ক্রিপ্ট ব্যবহার করা বেছে নিই তবে সুন্দর পরামর্শের জন্য অনেক অনেক!
ফ্রিকিনসাইড

@ edc65 আসলে আমি পূর্বের মন্তব্যে (আপনি যেমন বলেছিলেন) সে ​​সম্পর্কে আমি সচেতন ছিলাম এবং আমি এটি ভুলে যাইনি, আমার এখন অবধি সময় ছিল না।
ফ্রিকিনসাইড

4

পাইথন 3, 64

স্প 3000 এর উত্তরে একটি ছোট উন্নতি , যা অক্ষর সূচকগুলি পুনরাবৃত্তি করার ধারণাটি ব্যবহার করে এবং প্রতিটিটির ক্ষেত্রে ইনপুটটির মাধ্যমে পুনরাবৃত্তি করে যা অক্ষরের সাথে মিলে যায় take

c=1
for d in(input__+'~')*26:print(end=d[ord(d)&31^c:]);c+=d>'z'

এটি ইনপুটটি 26 বার লুপ করে একটি একক লুপ ব্যবহার করে। বিভাজকটি ~পরবর্তী অক্ষর সূচকে কখন যেতে হবে তা জানতে ব্যবহৃত হয় c। অক্ষরের সাথে dমান cপর্যন্ত মিলছে কিনা , এর বিট-মানের শেষ পাঁচটি বিট এর dসাথে এক্স-এড হয়c 0 টি ম্যাচ নির্দেশ করে।

তারপরে, dফলাফলটি হুবহু 0খালি স্ট্রিং সহ অন্যথায় খালি অক্ষরটি মুদ্রিত হয় ।


3

পাইথন ২.7, 114 106 বাইট

l=[0]*123
for e in raw_input():l[ord(e)]+=1
print''.join(chr(j)*l[j]for i in range(26)for j in(i+65,i+97))

123 দৈর্ঘ্যের অ্যারেতে একটি চরের উপস্থিতি লগ করে (এজেড এবং এজেড উভয় ব্যাপ্তি সহ) এবং তারপরে অ-শূন্য নথি প্রবেশের জন্য পুনরাবৃত্তি করে।
অযোগ্য, তবে এটি জোর করে নিষ্ঠুর চেয়ে বেশি দক্ষ (তবে দীর্ঘ :()।

এটি পরীক্ষা করে-

<< HelloWorldhi
>> deHhillloorW

আমি যখন এটির সাথে চালাব HelloWorldhi, আমি পেয়েছি['d', 'e', 'H', 'h', 'i', 'lll', 'oo', 'r', 'W']
ব্লু

@ মুদিফিশ উফ আমার খারাপ! আমি কয়েকটি জিনিস চেষ্টা করার সময় ভুল কোডটি পেস্ট করেছি। তার জন্য ধন্যবাদ :)
কামেহেমহে

আপনারও দরকার নেই if l[j]
নীল

@ মুডিফিশ সুন্দর, তারা খালি স্ট্রিং হয়ে যায় (এবং joinএড করার সময় অপসারণ করা হয় )। -8 বাইট। ধন্যবাদ :)
কামেহেহেহা

1
@ স্যার পার্সেলোট হ্যাঁ, তবে মনে হয়েছে যে প্রশ্নটিতে উল্লিখিত ইনপুটটি সংশোধন করার মতো, তাই করেননি
কামহামেহা

3

পিএইচপি, 275 270 বাইট

<?php
for($i=65;$i<123;$i++){$v[$i]=chr($i);}foreach(str_split($argv[1])as$c){$a=array_search($c,$v);if($a<97){$p[]=($a+32);$z[]=$a;}else{$p[]=$a;}}foreach($p as$chr){$m=min($p);if($z[0]+32==$m){echo chr($m-32);unset($z[0]);}else{echo chr($m);}unset($p[array_search($m,$p)]);}


ব্যাখ্যা:
কোড বর্ণমালার প্রতিটি অক্ষরের সাথে একটি অ্যারে উত্পন্ন করে, যার অ্যারে কী হিসাবে এটির ASCII মান রয়েছে। এর পরে কোডটি একটি নতুন অ্যারে উত্পন্ন করে যা ইনপুটটির ASCII মান রয়েছে। তারপরে সর্বনিম্ন মানটি মুদ্রিত হয়ে মুছে ফেলা হবে।

ব্যবহার:
স্ক্রিপ্টটিকে একটি আর্গুমেন্টের সাথে কল করুন: php -d error_reporting=0 script.php Hello

অব্যক্ত সংস্করণ:

<?php
$input = $argv[1];
$valueArray = [];
for($i=65;$i<123;$i++) {
    $valueArray[$i] = chr($i);
}
$new = str_split($input);
foreach($new as $char) {
    if(array_search($char, $valueArray)<97) {
        $newArray[] = (array_search($char, $valueArray)+32);
        $checkArray[] = array_search($char, $valueArray);
    } else {
        $newArray[] = array_search($char, $valueArray);
    }
}
foreach($newArray as $chr) {
    if($checkArray[0]+32 == min($newArray)) {
        $string .= chr(min($newArray)-32);
        unset($checkArray[0]);
    } else {
        $string .= chr(min($newArray));
    }
    $key = array_search(min($newArray), $newArray);
    unset($newArray[$key]);
}

echo $string;


যে কোনও পরামর্শের প্রশংসা করা হয়।


বড় হাতের অক্ষরগুলি কাজ করছে না ... এটি ঠিক করার দরকার।
জেরেঙ্ক

স্থির করা হয়েছে যে ইনপুটটিতে বড় হাতের অক্ষর থাকলে কোডটিও কাজ করে।
জেরেঙ্ক

3

হাস্কেল, 83 53 বাইট

import Data.Char
f y=[c|x<-[' '..],c<-y,toLower c==x]

ব্যবহার: f "HelloWorldhi"-> "deHhillloorW"

এটি কীভাবে কাজ করে: আসুন yইনপুট স্ট্রিং

[ |x<-[' '..]                  ]  -- for every x from Space to the last Unicode character
             ,c<-y                -- loop through all character c from the input string
 c                ,toLower c==x   -- and keep those where the lowercase version equals x

সম্পাদনা করুন: 30 টি বাইট সংরক্ষণ করা হয়েছে, তা কল্পনা করুন! ধন্যবাদ @ মরিস।


2
শুধু import Data.Char;f y=[c|x<-[' '..],c<-y,toLower c==x](53 বাইট) কেন নয় ? (এটি শেষ হতে কিছুটা সময় নেবে, কারণ length [' '..] == 1114080- তবে এটি সীমাবদ্ধ))
লিন

1
@ মরিস: বাহ! বিটিডব্লিউ: 4 বছরের পুরানো ল্যাপটপে 8.5 সেকেন্ড খুব বেশি দীর্ঘ নয়।
নিমি

3

পাইথন 3, 61 বাইট

ভিন্ন কৌশলটির নতুন উত্তর!

z=['']*42
for c in input():z[ord(c)&31]+=c
print(*z,sep='')

ord('a')&31==ord('A')&31এবং এটি লক্ষ করে ord('z')&31==ord('Z')&31, আমরা খালি স্ট্রিংগুলির একটি অ্যারে তৈরি করতে পারি এবং প্রতিটি চরিত্রের জন্য এটির ASCII মানের অ্যারে সূচকগুলিতে যুক্ত করতে পারি &31। আপনি এটি মুদ্রণ করার পরে, এটি বাছাই করা হবে।

ইনপুট সীমাবদ্ধ a-zA-Z


2

পাইথন 3, 97 92 বাইট

from itertools import*;print(*min(permutations(input()),key=lambda z:str(z).lower()),sep='')

বাছাইয়ের সর্বোত্তম উপায় হ'ল স্পষ্টতই সমস্ত ক্রম উত্পাদিত করা এবং তারপরে ন্যূনতমটি চয়ন করুন, যা কেবল সাজানো হয় :)

'কেস-সচেতন' বিধি মেনে চলার তুলনায় স্ট্রিংগুলি ছোট করা হয় c

সতর্কতা: খুব ধীর হতে পারে বড় স্ট্রিং সহ ।

একটি দোভাষী এখানে অবস্থিত ।


2

পাইথন 3, 118 বাইট

i=input();i,x=map(list,(i,i.lower()))
while x:q=min(x);x.remove(q);q=[q.upper(),q][q in i];i.remove(q);print(q,end="")

আমি জানি যে আরও খাটো করা যেতে পারে


আপনি প্রতিস্থাপন করতে পারেন if q not in i:সঙ্গে if~-(q in i):
পূর্বকুডারী

আমি কারণ .remove()এটিতে ফাংশনটি কল করছি I
নীল

2

পাওয়ারশেল, 164 বাইট

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

কোড:

$a=[char[]]($args[0]);For($u=1;$u-lt$a.Count;$u++){$n=$a[$u];$l=$u;while(($l-gt0)-and((""+$a[$l-1]).CompareTo(""+$n)-gt0)){$a[$l]=$a[$l-1];$l--}$a[$l]=$n};$a-join''

ব্যবহার:

PS C:\scripts> .\sign-word-2.ps1 tTHhis
hHistT

প্রসারিত এবং ব্যাখ্যা:

$a=[char[]]($args[0])               # Takes command-line argument, recasts as char array
For($u=1;$u-lt$a.Count;$u++){       # Performs a quick-n-dirty insertion sort
  $n=$a[$u]
  $l=$u
  while(($l-gt0)-and((""+$a[$l-1]).CompareTo(""+$n)-gt0)){
  # Ugly, ugly code here. String.CompareTo(String) is case-insensitive, but
  # because we cast as a char[], Char.CompareTo(Char) is case-sensitive ...
  # So, need to do an on-the-fly re-casting as a string with ""+
    $a[$l]=$a[$l-1]
    $l--
  }
  $a[$l]=$n
}
$a-join''             # Without the -join'', it would print out the chars with a space between

2

জুলিয়া, 61 বাইট

f=s->s>""?(k=indmax([s...]%32);f(s[k+1:end]s[1:k-1])s[k:k]):s

জুলিয়া যদি আপনি আরপিএলে কল করে তবে এটি স্ট্রিং আউটপুট হিসাবে প্রদর্শন করবে। এটা যদি গেছে stdout- এ প্রিন্ট আউট করতে, তাহলে এটি 78 বাইট দরকার:

x->(f=s->s>""?(k=indmax([s...]%32);f(s[k+1:end]s[1:k-1])s[k:k]):s;print(f(x)))

জুলিয়ার একজন দোভাষী এখানে পাওয়া যাবে । আরেকটি, যা আমি ইতিমধ্যে কিছু কোড রেখেছি তা এখানে । দ্রষ্টব্য, দ্বিতীয়টির সাথে, আপনাকে সীমানাটি টেনে টার্মিনালটি (নীচে) দৃশ্যমান করতে হবে। "এক্সিকিউট" ক্লিক করলে তা সাধারণ কমান্ড লাইনে টার্মিনালে চালিত হবে (এবং প্রিন্টলন ব্যতীত আউটপুটটি প্রদর্শিত হবে না)। বিকল্পভাবে, আপনি কেবল juliaটার্মিনালটিতে নিজেই টাইপ করতে পারেন , তারপরে যা আসবে তা REPL এর ভিতরে সমস্ত কিছু পরিচালনা করুন।

এবং কিছুটা অতিরিক্ত মজাদার জন্য, এখানে আরও কিছু বাস্তবায়ন দেওয়া হল

জিনোম বাছাই (83 বাইট):

s->(for m=2:endof(s),n=m:-1:2 s[n]%32<s[n-1]%32&&(s=s[[1:n-2,n,n-1,n+1:end]])end;s)

আমার নিজস্ব বাছাই করা অ্যালগরিদম (৮৮ বাইট):

s->(k=1;while length(k)>0 k=find(diff([s...]%32).<0);s=s[setdiff(1:end,k)]s[k]end;s)

2

স্কালা, 82 বাইট

print((""/:args(0)){case(s,c)=>val(a,b)=s.span(h=>{if(h<97)32 else 0}+h<c);a+c+b})

কমান্ড লাইন থেকে:

$ scala -e 'print((""/:args(0)){case(s,c)=>val(a,b)=s.span(h=>{if(h<97)32 else 0}+h<c);a+c+b})' Hello
eHllo

সম্ভবত আরও কিছুটা গল্ফ করা যেতে পারে ... কেবল ভাঁজ ব্যবহার করে সন্নিবেশ সাজানোর প্রয়োগ করা হচ্ছে।


2

x86 মেশিন কোড, 51 42 বাইট

00000000  b3 82 89 da 8b 07 80 fc  0d 74 12 b9 20 20 09 c1  |.........t..  ..|
00000010  38 e9 7e 06 86 c4 89 07  31 d2 43 eb e7 85 d2 74  |8.~.....1.C....t|
00000020  df c6 47 01 24 b4 09 cd  21 c3                    |..G.$...!.|
0000002a

বুদ্বুদ সাজান, কিছু নিবন্ধকের সাথে এখানে এবং সেখানে বাইট শেভ করার কৌশলগুলি পুনরায় ব্যবহার করুন; .COM ফাইল DosBox চলে, কমান্ড লাইন থেকে ইনপুট পায় এবং স্ট্যান্ডার্ড আউটপুট আউটপুট ছাপে।

sample session

মন্তব্য সমাবেশ:

    org 100h

section .text

start:
    ; bubble sort - external loop
ext:
    ; start from the first character (assume bh=0, true on every DOS)
    mov bl,82h
    ; "not-swapped" flag - 82h => no swaps in current iteration;
    ; 0 => a swap happened (the 82h will come in handy later)
    mov dx,bx
    ; bubble sort - internal loop
int:
    ; read 2 characters at time in the full ax
    mov ax,word[bx]   ; al     ah
                      ; ^[bx]  ^[bx+1]
    ; check if we are at the end (the command line is CR terminated)
    cmp ah,0dh
    je skip
    ; make uppercase in cx
    mov cx,2020h
    or cx,ax
    ; compare
    cmp cl,ch
    jle next
    ; wrong order - swap and rewrite
    xchg al,ah
    mov word[bx],ax
    ; mark that we did a swap
    xor dx,dx
next:
    ; next character
    inc bx
    jmp int
skip:
    ; loop as far as we swapped something
    test dx,dx
    jz ext
end:
    ; $-terminate the string
    mov byte[bx+1],'$'
    ; print
    ; dx already contains the location of the string, since that's the
    ; flag value we used for "no swaps"
    mov ah,9
    int 21h
    ret


1

পার্ল, 88 বাইট

@_=/./g;a:{for(0..@_-2){@_[$_,$_+1]=@_[$_+1,$_],redo a if uc$_[$_]gt uc$_[$_+1]}}print@_

কেবল একটি সাধারণ বুদ্বুদ সাজান। পাঠ্যটি পাস করার জন্য -n বিকল্পের সাথে কল করুন।

উদাহরণ:

echo "tThHiIsS" | perl -n sort2.pl

আউটপুট:

hHiIsStT

1

পিএইচপি, 106 বাইট

কোড:

$c=count_chars($argv[1]);$r=str_repeat;for($i=64;++$i<91;)echo$r(chr($i),$c[$i]),$r(chr($i+32),$c[$i+32]);

কোডটিতে বিশেষ কিছু নেই; count_chars()ASCII কোড দ্বারা সূচিযুক্ত একটি অ্যারে উত্পাদন করে যা প্রতিটি ASCII অক্ষরের জন্য সংখ্যার সংখ্যা উপস্থিত থাকে। বাকিটি এই অ্যারের উপরে একটি নিস্তেজ পুনরাবৃত্তি।

মৃত্যুদণ্ডের উদাহরণ:

$ php -d error_reporting=0 sign.php qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKasdfJHGFDSAZXCVBNM
AaaBbCcDddEeFffGgHhIiJjKkLlMmNnOoPpQqRrSssTtUuVvWwXxYyZz

প্রতিস্থাপন করুন: একটি অতিরিক্ত বাইট পিএইচপি 7 ব্যবহার সংরক্ষণ করা যাবে $c[$i]সঙ্গে ($c=count_chars($argv[1]))[$i]এবং নিয়োগ অপসারণ $cপ্রোগ্রাম শুরু থেকে।


1

হাস্কেল, 74 বাইট

l=(`mod`32).fromEnum
f=foldr(#)""
e#[]=[e]
e#a@(h:t)|l e<l h=e:a|1<2=h:e#t

আমার অন্যান্য উত্তর থেকে সম্পূর্ণ পৃথক । এবার এটি একটি সাধারণ সারণি sort


1

পিপ, 18 14 বাইট

পাইপের জন্য গিটহাবের সংগ্রহস্থল

দেখে মনে হচ্ছে পাইথের সাথে কোনও প্রতিযোগিতা নেই তবে এটি বেশ সম্মানজনক।

FcAZ OcQUC_FIa

শুধুমাত্র যুক্ত স্ট্রিংগুলিতে কাজ করে a-zA-Z। বর্ণমালার প্রতিটি অক্ষরের জন্য, ইনপুট স্ট্রিং থেকে অক্ষরগুলি ধরার জন্য একটি ফিল্টার ক্রিয়াকলাপ ব্যবহার করে যা অক্ষরের সাথে সংবেদনশীলভাবে অক্ষর করে:

                    a <- cmdline arg, AZ <- string containing uppercase alphabet (implicit)
FcAZ                For each character c in AZ:
           FIa      Filter characters of a on the following lambda function:
      UC_           Uppercase of character...
         Qc         ... is equal to c
     O              Output the resulting list, joined on empty string by default

দুটি নোট:

  • স্থান প্রয়োজনীয়; অন্যথায়, ক্রম পরিবর্তে AZOস্ক্যান করা A ZOহবে AZ O;
  • প্রোগ্রামটি আড়াল করা নতুন লাইনের আউটপুট দেয় না। একটি যুক্ত করতে xকোডের শেষে একটি রেখে দিন (এর মাধ্যমে লুপটি শেষ হওয়ার পরে খালি স্ট্রিংটি মুদ্রণ করা হবে)।

নমুনা রান ( xভেরিয়েন্ট ব্যবহার করে ):

dlosc@dlosc:~/pip$ pip -e "FcAZ OcQUC_FIax" "HelLo wOrld"
deHlLloOrw

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