স্ট্রিংগুলি অ্যানগ্রামগুলি কিনা তা নির্ধারণ করুন


85

চ্যালেঞ্জ

দুটি স্ট্রিং দেওয়া হয়েছে, যদি উভয়ের মধ্যে ঠিক একই চরিত্র থাকে তবে কাজ করুন।

উদাহরণ

ইনপুট

শব্দ, wrdo

এইগুলি ফেরত দেয় trueকারণ তারা একই তবে কেবল স্ক্যাম্বলড।

ইনপুট

শব্দ, wwro

এই ফিরে আসে false

ইনপুট

নৌকা, তোবা

এই ফিরে আসে true

বিধি

এখানে নিয়ম!

  • ধরুন ইনপুট কমপক্ষে 1 চর দীর্ঘ এবং 8 টি অক্ষরের বেশি হবে না।
  • কোনও বিশেষ অক্ষর নেই, কেবল a-z
  • সমস্ত ইনপুটগুলি ছোট হাতের মতো ধরে নেওয়া যায়

পরীক্ষার মামলা

boat, boat = true
toab, boat = true
oabt, toab = true
a, aa = false
zzz, zzzzzzzz = false
zyyyzzzz, yyzzzzzy = true
sleepy, pyels = false
p,p = true

10
9 টি উত্তর 13 টি দর্শনে ... বাহ!
টম গ্লেন

@ টম, কারণ প্রত্যেকে প্রমাণ করতে চেয়েছিল যে 64৪-বিট পূর্ণসংখ্যা ব্যবহার সম্পর্কে আপনার মন্তব্যটি ভুল দিকে নির্দেশ করছে: পি
পিটার টেলর

5
শিরোনাম অনুরোধ: কোড এলফ, যান!

5
"ফ্যালকন রেগে, পাগল হয়ে যাও!"
জিওবিটস

7
আমার নামের পরামর্শ: "এগুলি কি অ্যানাগ্রামগুলি" → "অ্যারেগুলি পরিচালনা করে"
এসোলাং ফল

উত্তর:


39

পাইথন, 32 বাইট

f=lambda a,b,S=sorted:S(a)==S(b)

3
@ দেবানজান, এটি ঠিক একই রকম def f(a,b):return sorted(a)==sorted(b)বাণিজ্য হ'ল আপনি কোনও বক্তব্য ব্যবহার না করার বিনিময়ে
ল্যাম্বদার সাথে ডিএফ

1
@ দেবানজান, আমি মনে করি এটি কেবল একটি চরিত্রকে বাঁচায়। আমি এখানে একটি প্রকরণ ব্যবহার করেছি, তবে এটি আপনার সমান দৈর্ঘ্যের সাথে কাজ করে কারণ আমি কমা জন্য একটি নতুন লাইন পরিবর্তন করেছি
gnibbler

4
@ টমাস, আজেবাজে কথা। প্রশ্নটি সম্পূর্ণ প্রোগ্রাম নির্দিষ্ট করে না, সুতরাং কোনও ফাংশন বা একটি সম্পূর্ণ প্রোগ্রাম গ্রহণযোগ্য।
gnibbler

2
@ টমাস, এখানে বেশিরভাগ উত্তর আপনার মানদণ্ডটি পাস করতে ব্যর্থ। যাঁরা করেন তাদের সকলকে কেন একটি উত্সাহ দেওয়া হয় না?
gnibbler

4
@ টমাস, এটি অপব্যবহারের নিয়ম নয়। কিছু প্রশ্ন ইচ্ছাকৃতভাবে খোলা থাকে যেমন এটি উপস্থিত হয়। এই মত একটি ভাল নির্দিষ্ট প্রশ্নের সাথে তুলনা করুন । প্রশ্নের অভিযোগ এইসব উত্তর পছন্দ না হয় প্রশ্নকর্তা
gnibbler

27

গল্ফস্ক্রিপ্ট, 3 টি চর?

$$=

ব্যবহার:

'boat'$'baot'$=
1

'toab'$'boat'$=
1

'oabt'$'toab'$=
1

'a'$'aa'$=
0

'zzz'$'zzzzzzzz'$=
0

'zyyyzzzz'$'yyzzzzzy'$=
1

'sleepy'$'pyels'$=
0

'p'$'p'$=
1

23
এটি কীভাবে ইনপুট সরবরাহ করতে হবে তার একটি আকর্ষণীয় ব্যাখ্যা :)
gnibbler

4
ব্যাখ্যা দয়া করে :(
st0le

10
@ st0le, সিরিয়াসলি? আমি গল্ফস্ক্রিপ্ট জানি না, তবে এটি অবশ্যই $ (সাজান), $ (সাজান), = (তুলনা)
পিটার টেলর

11
এই ঠকানো কি একটু হয় না? মানে, এটি ভেরিয়েবল ইনপুট নয়। এটি হার্ড কোডেড হতে হবে। যে কোনও ক্ষেত্রে, আমি উদ্ধৃতি ( ') অক্ষরের জন্য চরিত্রের গণনায় 4 যুক্ত করব ।
থমাস এডিং

6
এটি আমাদের বর্তমান বিধি দ্বারা বৈধ নয়। তবে আপনি এটি @ জনডভোরাকের 4-বাইট ফাংশনে পরিবর্তন করতে পারেন যা বৈধ ইনপুট ফর্ম্যাটের মাধ্যমে ইনপুট গ্রহণ করবে ।
ডুরকনব

20

জে, ৮

-:&(/:~)

সাহিত্যের -:সাথে ( &) সাজান ( ) এ মিলিয়ে ( /:~)

নমুনা ব্যবহার:

   'boat' -:&(/:~) 'boat'
1
   'toab' -:&(/:~) 'boat'
1
   'oabt' -:&(/:~) 'toab'
1
   'a' -:&(/:~) 'aa'
0
   'zzz' -:&(/:~) 'zzzzzzzz'
0
   'zyyyzzzz' -:&(/:~) 'yyzzzzzy'
1
   'sleepy' -:&(/:~) 'pyels'
0
   'p' -:&(/:~) 'p'
1

64-বিট পূর্ণসংখ্যার খেলা কোথায় আসে?


জেতে ফাংশন / সাবরুটাইনগুলি লেখা কি সম্ভব নয়?

2
@ টিম নর্ডেনফুর: তাদের "ক্রিয়াপদ" বলা হয়, এবং ডানদিকে (মনড) v argহিসাবে উভয় পক্ষের উভয় পক্ষের arg1 v arg2(ডায়াডস) হিসাবে দুটি যুক্তি গ্রহণ করুন । আমি যা জমা দিয়েছি তা অবশ্যই একটি ডায়াড। আমি এটির নাম দেওয়ার জন্য বিরক্ত করিনি, যেহেতু এটি অনুরোধ করা হয়নি এবং এভাবে ছোট করা হয়। আপনি যদি সত্যিই এটির নাম দিতে চান তবে আপনি এটির মতো করুন: is_anagram_of =: -:&(/:~)এবং তারপরে ব্যবহার করুন 'a' is_anagram_of 'aa'
জেবি

কোডটিতে যুক্তিগুলির বিকল্প হিসাবে এটি কিছুটা সস্তা মনে হয়েছিল, তবে আমি এখন দেখছি যে এটি মূলত একটি ডায়াড। কিছু মনে করো না.

29
জে সর্বদা ইমোটিকন কারখানার বিস্ফোরণের ধ্বংসাবশেষের মতো লাগে।
st0le

19

জাভাস্ক্রিপ্ট, 192 157 152 147 125 বাইট

ঠিক আছে এর মধ্যে কিছু ভাষা আমার চেয়ে অনেক বেশি নমনীয়! যাইহোক এটি আমার অনুমানের দীর্ঘতর পথ, তবে কমপক্ষে একটি ভিন্ন কৌশল।

কম্প্রেস

আরও চর বের করে দেওয়ার জন্য পিটার এবং ডেভিডকে ধন্যবাদ!

for(a=[j=p=2];j<123;)a[j]?p%a[++j]<1&&p++&&(j=0):(a[j]=p,j=0);function b(c,i){return c[i=i||0]?a[c.charCodeAt(i)]*b(c,++i):1}

তারপরে:

alert(b("hello")==b("elloh"));

প্রসারিত কোড

সংকুচিতদের প্রচুর পরিবর্তন হয়েছে, তবে এটি মূল তত্ত্ব:

// Define dictionary of primes
a = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101];

// Returns the unique ID of the word (order irrelevant)
function b(c) {
    r = 1;
    for (i = 0; i < c.length; i++)
        r *= a[c[i].charCodeAt(0) - 97];
    return r
}

alert(b("hello") == b("hlleo"));

প্রাইম ব্যবহার করে দুর্দান্ত ধারণা।

@ টিম ধন্যবাদ! এখন এটি 157 এ নেমে গেছে।
টম গ্লেন

2
আপনি চালনির সাহায্যে অভিধানের সূচনাতে কয়েক অক্ষর শেভ করতে পারেন। a=[2];for(p=3,j=0;j<26;)if(a[j]){if(p%a[j++]==0){p++;j=0}}else{a[j]=p;j=0}
পিটার টেলর

1
@ টম, আপনি বাছাই করা রুটিনগুলি কতটা অনুকূল করে তুলেছেন তার উপর নির্ভর করে আপনি 8 টি চরিত্রের ইনপুট সীমাবদ্ধ রেখেছেন: পি
পিটার টেলর

1
125 টি অক্ষর । পুনরাবৃত্তি এবং অঞ্চলগুলি এফটিডব্লিউ:for(a=[j=p=2];j<123;)a[j]?p%a[++j]<1&&p++&&(j=0):(a[j]=p,j=0);function b(c,i){return c[i=i||0]?a[c.charCodeAt(i)]*b(c,++i):1}
ডেভিড মুরডোক

15

গল্ফস্ক্রিপ্ট, 8 বাইট

এটি একটি ফাংশন বলা হয় A

{$\$=}:A

পরীক্ষার মামলা

;
'boat' 'boat' A
'toab' 'boat' A
'oabt' 'toab' A
'a' 'aa' A
'zzz' 'zzzzzzzz' A
'zyyyzzzz' 'yyzzzzzy' A
'sleepy' 'pyels' A
'p' 'p' A

11

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

ফাংশন - 31

import List
f=(.sort).(==).sort

প্রোগ্রাম - 81 58 55

import List
g=sort`fmap`getLine
main=(`fmap`g).(==)=<<g

ব্যবহার:

$ runghc anagram.hs
boat
boat
True
$ runghc anagram.hs
toab
boat
True
$ runghc anagram.hs
a
aa
False

যশ করতে lambdabot এবং তার pointfree refactoring


হাস্কেল কোড কি কেবল রানঘিসির অধীনে যা চেয়েছিল তা করতে পারে, তবে সংকলন না করে এখনও "প্রোগ্রাম" বলা যেতে পারে?
জেবি

3
@ জেবি: পার্ল কোড কি কেবল যা কেবলমাত্র যা চেয়েছিল সেটি perlএখনও "প্রোগ্রাম" বলা যেতে পারে? :-)
জোয় অ্যাডামস

জেবি: আজকের কার্যকরী ভাষাগুলি একটি প্রোগ্রামকে এর উচ্চতর অর্ডার বিমূর্ততা হিসাবে তৈরি করে তার অর্থকে তির্যক করে। মৃত্যুদন্ড কার্যকর করার জন্য কেবল নির্দেশের একটি তালিকার চেয়ে হ্যাশেল প্রোগ্রামটি কেবল কল না করা সত্ত্বেও ফাংশনগুলির সংগ্রহ হিসাবে দেখা যেতে পারে।
কলম রজার্স

@ ক্যালাম রজার্স: আমার বক্তব্যটি: সমস্যাটি সংবেদনশীল অঞ্চলে রান কোডের অধীনে চালিত হোক বা সংকলিত হোক না কেন তার কোডটি ভিন্ন আচরণ করে। "ফাংশন" ঠিক আছে। "প্রোগ্রাম" সমস্যাটি রানঘ্যাক ব্যতীত অন্য যে কোনও বিষয়বস্তুতে সমাধান করে না এবং হাসকল প্রোগ্রাম চালানোর একমাত্র বৈধ উপায় রানঘসি নয়। যে প্রসঙ্গে, যে স্নিপেট একটি "runghc স্ক্রিপ্ট", তোলে না একটি "Haskell, প্রোগ্রাম"। - না যে আমি বিষয়টি গুরুত্বপূর্ণ হিসাবে বিবেচনা করব, যেমন আমি বলেছিলাম, ফাংশনটি যাইহোক ঠিকঠাক এবং এটি আরও খাটো হয়।
জেবি

2
x#y=sort x==sort y1 টি চরিত্রের চেয়ে ছোট
রটসর

10

সি #, 129 অক্ষর

namespace System.Linq{class X{static void Main(string[]a){Console.Write(a[0].OrderBy(_=>_).SequenceEqual(a[1].OrderBy(_=>_)));}}}

রিডেবল:

namespace System.Linq
{
    class X
    {
        static void Main(string[] a)
        {
            Console.Write(a[0].OrderBy(_ => _)
                  .SequenceEqual(a[1].OrderBy(_ => _)));
        }
    }
}

আমি মনে করি আপনি নাম বর্জন করার using System.Linq;পরিবর্তে কয়েকটি বাইট গল্ফ করতে পারেন?
স্ট্যাকস্টাক

10

রুবি, 34 বাইট

পিটার টেলর পার্ল সমাধানের আইও স্কিম ব্যবহার করে:

p gets.chars.sort==gets.chars.sort

একটি ত্রুটি নিক্ষেপ করে:-e:1:in '<main>': undefined method 'chars' for nil:NilClass (NoMethodError)
টমাস

9

সি প্রোগ্রাম, 118

t[52],i;main(c){for(;i<52;)(c=getchar())<11?i+=26:t[i+c-97]++;
for(i=27;--i&&t[i-1]==t[i+25];);puts(i?"false":"true");}

1
আইওসিসি-র জন্য আবেদন করার বিষয়টি কি কখনও বিবেচনা করেছেন ?
মতিন উলহাক

9
@ মন্টু: আইওসিসি-তে আপনি কিছু দেখেছেন? এটি তার পক্ষে খুব পঠনযোগ্য।
আর মার্টিনহো ফার্নান্দিস

@ মার্টিনহো হ্যাঁ, আইওসিসি উত্স কোডগুলি এত সুন্দর। সিম্ফনি। তবে তার অন্তত একটি ছোট টুকরো রচনা করার চেষ্টা করা উচিত। :)
মতিন উলহাক

@ মন্টু: আমি জানি না যে তারা এখনও সক্রিয় ছিল।
জোয় অ্যাডামস

1
সবেমাত্র এটি দেখেছি ... খুব সুন্দর। তবে সংক্ষিপ্ত হতে পারে: t[256],i;main(c){for(;c+3;)(i=getchar())>10?t[i]+=c:(c-=2);for(i=257;--i&&!t[i-1];);puts(i?"false":"true");}- এটি 108 টি অক্ষর। খুব গুরুত্বপূর্ণ, আপনার cআরম্ভের কৌশলটি এখনও নিযুক্ত রয়েছে।
ugoren

7

পার্ল, 58 বাইট

(সম্পূর্ণ প্রোগ্রাম, অন্যান্য পার্ল উত্তরের বিপরীতে যা কেবলমাত্র একটি ফাংশন)

($c,$d)=map{[sort split//]}<>;print"@$c"eq"@$d"?true:false

49 একটি ফাংশন হিসাবে

sub f{($c,$d)=map{[sort split//]}<>;"@$c"eq"@$d"}

অবশ্যই আপনি প্রোগ্রামটিতে "চারটি অক্ষরকে সত্য এবং মিথ্যা কাছাকাছি সরিয়ে বাঁচাতে পারবেন , কারণ কঠোর / সতর্কতা না দিয়েই একটি খালি শব্দ একটি স্ট্রিং।
জোয়েল বার্গার


আমি ($c,$d)=map{[sort split//]}@ARGV;exit("@$c"ne"@$d")এটি (51 অক্ষর) হিসাবে পছন্দ করি যাতে এটি কমান্ড লাইন আর্গুমেন্ট নিতে পারে এবং কমান্ড লাইন থেকে প্রস্থান কোডগুলি ব্যবহার করতে পারে। এটি <>মাল্টি-লাইন ইনপুট সহ 48 টি অক্ষর ধরে রাখবে ।
অ্যাডাম কাটজ

6

Clojure - 23 অক্ষর

বেনামে ফাংশন হিসাবে:

#(apply = (map sort %))

পরীক্ষার কেস উদাহরণ:

(#(apply = (map sort %)) ["boat" "boat"])
=> true

শীতল, আমি এটি পছন্দ করি।
চিরন

1
চমৎকার উত্তর. আমি বিশেষত আপনি যে পরীক্ষার স্ট্রিংগুলি বেছে নিয়েছেন তা পছন্দ করি ;-)
coredump

6

জাভাস্ক্রিপ্ট

@ ZzzzBov এর সমাধানের ভিত্তিতে।

তুলনা, 65 টি অক্ষর (40 টি ফাংশন ছাড়াই)

function f(a,b){return a.split('').sort()==b.split('').sort()+""}

তুলনামূলক, 43 টি অক্ষর

function f(a){return a.split('').sort()+""}

চালাক +""স্ট্রিং করতে বাধ্য করতে ব্যবহার করে ।
কেসি চু

6

সি ++ (104 নন-ডাব্লুএস অক্ষর)


গণনা বাছাই উপর ভিত্তি করে। দ্রষ্টব্য: একই দৈর্ঘ্যের স্ট্রিংগুলি ধরেছে, যা মনে হয় প্রশ্নের দ্বারা আবদ্ধ (যদিও বর্ণিত নয়)।

int u[123], i;

int a(char **c) {
    for(; c[0][i]; ) {
        u[c[0][i]]++;
        u[c[1][i++]]--;
    }

    i=123;
    while(i && !u[--i]);
    return !i;
}

সি-তে, আপনি যদি বিশ্বব্যাপী স্কোপটিতে একটি পরিবর্তনশীল ঘোষণা করেন তবে এটি শূন্যে শুরু করা হবে। আমার ধারণা এটি সি ++ এর ক্ষেত্রেও সত্য।
জোয় অ্যাডামস

অন্যদিকে স্থানীয় ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে শূন্যে আরম্ভ হয় না
জোয় অ্যাডামস

ঠিক আছে, আমি আমার ক্যাভেটটি সরিয়েছি যেহেতু আমি এটি না করেই উপায় খুঁজে পেয়েছি।
ম্যাথু

1
Bzzzt। আপনি পরীক্ষার কেসগুলি পাস করেন তবে "হেলি" এবং "হোলো" দৃশ্যত একই রকম। সহজ ফিক্স: ++ এর মধ্যে একটিতে পরিবর্তন করুন -। তারপরে যদি (u [i ++]) 0 ফিরে আসে;
ডেভ গ্যাম্বল

1
আমি এটি পরীক্ষা করে দেখিনি, তবে শেষ তিনটি লাইন লিখতে পারেi=123;while(i&&u[--i]);return!i;
st0le

4

পিএইচপি (কমান্ড লাইন, 87 টি অক্ষর)

function d($s){
    return array_count_values(str_split($s));
}

echo d($argv[1]) == d($argv[2]);

4

জাভাস্ক্রিপ্ট

@ ZzzzBov এর সমাধানটির একটি (খুব) সামান্য সংক্ষিপ্ত সংস্করণ, যা .join()স্ট্রিং বক্সিংয়ের পরিবর্তে ব্যবহার করে:

function a(b,c){return b.split('').sort().join()==c.split('').sort().join()}
alert(a('abc','bca')); //true

একইভাবে:

function a(b){return b.split('').sort().join()}
alert(a('abc')==a('bca')); //true

3
এটি উত্তর আইডি 1337. অভিনন্দন
TheDoctor

4

ক্লোজার আরএপিএল 41 টি অক্ষর

(= (sort (read-line)) (sort (read-line)))

স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কে আপনাকে স্বাগতম। এখানে ফর্ম্যাট সহায়তা ।
dmckee

4

জাভা

(স্পষ্টতই সবার প্রিয় ভাষা!)

173 অক্ষর:

import java.util.*;class g{public static void main(String[]p){String[]a=p[0].split(""),b=p[1].split("");Arrays.sort(a);Arrays.sort(b);System.out.print(Arrays.equals(a,b));}}

(প্রিন্টলন থেকে 2 টি অক্ষর সংরক্ষণ করতে নিউলাইন চরটি মুদ্রণ করে না)

সংকলন এবং চালান:

javac g.java
java -cp . g abcdef fedcba
true

একটি সংক্ষিপ্ত দেখতে দেখতে ...


আমি জানি এটি .5.৫ বছর (এলওএল) এরও বেশি হয়ে গেছে, তবে আপনি এটির পরিবর্তে 10 টি বাইট যোগ করে java.util.Arrays x=null;এবং ব্যবহার করে গল্ফ করতে পারেন : ( 163 বাইট ) এবং এটি জাভা 8 তে রূপান্তরিত করেও হতে পারে , তবে আমার ধারণা জাভা 8 ছিল না 2011 সালে এখনও প্রায় না, তাই রাখাও ঠিক আছে। ; পিx.Arrays.class g{public static void main(String[]p){java.util.Arrays x=null;String[]a=p[0].split(""),b=p[1].split("");x.sort(a);x.sort(b);System.out.print(x.equals(a,b));}}class g{public static void maininterface g{static void mainclass
কেভিন ক্রুইজসেন

4

সেড, 45 টি অক্ষর

এটি আমার প্রিয়তেও সম্ভব - sed! অনাগ্রাম সমাধানের জন্য কেবল একটি নিয়মিত অভিব্যক্তি ! কেবল সংশ্লিষ্ট বর্ণগুলি অপসারণ করতে থাকুন:

:
s/(.)(.*,.*)\1/\2/
t
/\w/{i\false
d}
i\true

(অনুরোধ করা হবে -nE)

পার্ল, 48

1while s/(.)(.*,.*)\1/\2/;$_=/\w/?"false":"true"

সাথে আহ্বান করা -p

পার্ল ফাংশন, 39

sub f{$,while s/(.)(.*,.*)\1/\2/;!/\w/}

4

এপিএল, ২ টি চর

≡⍦

এটি শীর্ষস্থানীয় এপিএল বাস্তবায়নের অন্যতম Nars2000 এর মাল্টিসেট মিল ফাংশন । স্ট্রিংগুলিতে প্রয়োগ করা হলে, এটি প্রয়োজনীয় ফাংশনটি হুবহু গণনা করে:

      'elvis' ≡⍦ 'lives'
1
      'alec guinness' ≡⍦ 'genuine class'
1

শুধু কৌতূহলী, এটি কত বাইট? 4? 6?
মালটিসেন

এটি এনকোডিংয়ের উপর নির্ভর করে। ইউটিএফ -8-তে 6 বাইট, ইউসিএস -2-তে 4 বাইট, উত্তরাধিকারের কোনও একক-বাইট এপিএল অক্ষর চিহ্ন রয়েছে, যা আমি সন্দেহ করি।
টোবিয়া

4

05 এ বি 1 ই , 6 4 বাইট (প্রতিদ্বন্দ্বী)

{I{Q

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

ইনপুট অসুবিধার কারণে এটি কিছুটা সময় নিয়েছে। পপ কারণে গল্ফ ডাউন।

ব্যাখ্যা:

{I{Q    Original code

{       Takes first input e.g. word and sorts -> 'dorw'
 I      Takes second input e.g. 'wrdo'
  {     Sorts second input -> 'dorw'
   Q    Compare if sorted 1 = sorted 2, then print result. 'dorw' = 'dorw', so prints 1.

1
যেহেতু 05AB1E এই চ্যালেঞ্জের চেয়ে নতুন, এই উত্তরটি প্রতিদ্বন্দ্বী।
লুভজো

দুঃখিত - বুঝতে পারিনি।
জেনো র্যাকলিন আশের

4

পার্ল, 77 75 টি অক্ষর

সমস্যার I / O ভালভাবে নির্দিষ্ট করা হয়নি; এটি স্টিডিন থেকে দুটি লাইন পড়ে এবং স্টুডআউট থেকে সত্য বা মিথ্যা ফলাফল দেয়।

sub p{join'',sort split'',$a}$a=<>;$x=p;$a=<>;print$x eq p()?"true":"false"

(77 এর জন্য টিমকে ধন্যবাদ -> 75)


কিছু একটা সমস্যা. $a=;? এছাড়াও, আপনি পেরেনগুলি sortএবং স্পেস পরে এড়িয়ে যেতে পারেন print

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

2
ঠিক আছে, আমি ডাউনভোটটি সরিয়েছি। আপনি ভবিষ্যতে কোড বিন্যাসনটি ব্যবহার করতে চাইতে পারেন, যেমন চারটি স্পেস সহ ইনডেন্ট কোড।

1
ঠিক আছে, সুতরাং কোড বিন্যাসের তিনটি উপায় রয়েছে (একটি ইনলাইন এবং দুটি ব্লক), এবং উভয় ব্লকই বিভিন্ন উপায়ে অসুবিধে হয়। দীর্ঘশ্বাস.
পিটার টেলর

4

পার্ল, 62 বাইট

এই ফাংশনটি আর্গুমেন্ট হিসাবে স্ট্রিং নেয় এবং সত্য বা মিথ্যা প্রদান করে returns

sub f{my@a;for$.(1,-1){$a[ord]+=$.for split//,pop}!grep{$_}@a}

ASCII মানগুলি একটি অ্যারেতে সঞ্চয় করে এবং এটি সমাপ্ত হয় কিনা তা পরীক্ষা করে। প্রথম শব্দের জন্য বৃদ্ধি এবং দ্বিতীয় শব্দের জন্য হ্রাস।


4

পাইথন 3, 107 97 76 64

s=sorted;a,b=input().split(', ')
print(str(s(a)==s(b)).lower())

স্পষ্টতই আমরা সংক্ষিপ্ত আকারে সংক্ষিপ্ত হতে পারি যদি আমরা ওপি'র শব্দটিকে আক্ষরিকভাবে গ্রহণ না করি এবং "সত্য" এবং "মিথ্যা" ...


যদি আপনি সংযুক্ত আপনি কয়েক অক্ষর বন্ধ শেভ করতে ;s=sortedপ্রথম লাইন এবং তারপর দুই স্থানেই প্রতিস্থাপন sortedসঙ্গে sদ্বিতীয় লাইন হবে। 3 অক্ষর সংরক্ষণ করা উচিত?
অ্যালেক্স ভ্যান লিউ

1
প্রকৃতপক্ষে. পাইথন 3 এছাড়াও কিছুটা জায়গা সাশ্রয় করে এবং সম্ভবত উত্তরটি পোস্ট করার 5 বছর পরে এখন ব্যবহার করা যুক্তিসঙ্গত। এছাড়াও, .strip () অপ্রয়োজনীয় ছিল, নির্দিষ্ট ইনপুটগুলি দিয়ে।
উবল

হ্যাঁ, দুঃখিত। আমি মন্তব্য করার সময় এই প্রশ্নটি কতটা পুরানো ছিল তা আমি লক্ষ্য করিনি, কেবলমাত্র এটি প্রথম পৃষ্ঠায় ছিল। ^^;
অ্যালেক্স ভ্যান লিউ

4

পাইথন, 32 বাইট

p=sorted
f=lambda a,b:p(a)==p(b)

অজগরে কিছুই করে না। আপনি কি নিশ্চিত যে এটি একটি সম্পূর্ণ প্রোগ্রাম যা ইনপুট নেয় এবং অনুরোধ অনুসারে আউটপুট উত্পাদন করে?
টমাস

1
@ টমাস এটি একটি ফাংশন
টুকস্রাফটিং


4

আর , 54 বাইট

function(x,y,`~`=sort,`+`=utf8ToInt)identical(~+x,~+y)

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


আমি আপনার উত্তরটি uT8ToInt ব্যবহারের দ্বারা অত্যন্ত আগ্রহী, কেবলমাত্র এই উত্তরে নয়, তবে আমি দেখেছি এমন আরও অনেক ক্ষেত্রে।
Sumner18

1
আপনি কি আর-তে গল্ফ করার টিপস দেখেছেন ? utf8ToIntএবং এর বিপরীতে প্রচলিত ফাংশনগুলির চেয়ে ছোট স্ট্রিং-বিভাজনের জন্য ঝোঁক।
জে.ডো

3

আরপিএলে স্কেল (32)

readLine.sorted==readLine.sorted

স্কালা ফাংশন (43)

def f(a:String,b:String)=a.sorted==b.sorted

স্কালা প্রোগ্রাম (61)

object A extends App{println(args(0).sorted==args(1).sorted)}

এগুলি স্কালার একটি ঝরঝরে বৈশিষ্ট্য উপস্থাপন করে যার মাধ্যমে একটি স্ট্রিং উপলব্ধ থাকা Seqসমস্ত ক্রিয়াকলাপ সহ অক্ষরের ( ) এর অনুক্রম হিসাবে গণ্য হতে পারে Seq


3

এপিএল - 13 টি অক্ষর

{(⍺[⍋⍺])≡⍵[⍋⍵]}

এভাবে কল করুন:

      'boat' {(⍺[⍋⍺])≡⍵[⍋⍵]} 'baot'
1
      'baot' {(⍺[⍋⍺])≡⍵[⍋⍵]} 'boat'
1
      (,'a') {(⍺[⍋⍺])≡⍵[⍋⍵]} 'aa'
0

শেষ উদাহরণে, 'a'একটি একক অক্ষর উপস্থাপন করে এবং উপসর্গটি ,এটি একটি স্ট্রিংয়ে রূপান্তরিত করে।


3

জাভা (134 বাইট)

int[][]c=new int[2][26];
for(int i=0;i<2;i++)for(byte a:args[i].getBytes())c[i][a-97]++;
System.out.print(Arrays.equals(c[0],c[1]));`

এটি প্রতিটি বর্ণের বারের সংখ্যাটি গণনা করার জন্য একটি অ্যারে তৈরি করে এবং তারপরে অ্যারেগুলি সমান কিনা তা পরীক্ষা করে।


1
পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট! এখানে 2 টি স্থান রয়েছে যা আপনি মুছে ফেলতে পারবেন (c[0], c[1])এবং for (int i=0;
ɪᴋᴇʀ

3

জাভাস্ক্রিপ্ট, 41

তুলনা ফাংশন (41) :

a=b=>''+[...b].sort()
b=(c,d)=>a(c)==a(d)
alert(b('abc', 'cba')) // true

তুলনামূলক ফাংশন (21) :

a=b=>''+[...b].sort()
alert(a('abc') == a('bca')); //true

তুলনামূলক ফাংশন (48):

function a(b){return String(b.split('').sort())}
alert(a('abc')==a('bca')); //true

তুলনা ফাংশন (78):

function a(b,c){return String(b.split('').sort())==String(c.split('').sort())}
alert(a('abc','bca')); //true

অনুমান Stringআছে splitএবং Arrayআছে sort


38 বাইট:c=>d=>(a=b=>''+[...b].sort())(c)==a(d)
শিয়েরু আসাকোটো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.