পুরাতন স্প্যানিশ বর্ণানুক্রমিক ক্রম


22

1994 এর আগে, স্প্যানিশ অভিধানগুলিতে একটি অদ্ভুততা সহ বর্ণানুক্রমিক ক্রম ব্যবহৃত হত : ডিজিট্রাফগুলি llএবং chতারা একক অক্ষর হিসাবে বিবেচিত হত। chঅবিলম্বে অনুসরণ c, এবং llঅবিলম্বে অনুসরণ l। চিঠিটি যোগ করা ñ, যা nস্প্যানিশ ভাষায় অনুসরণ করে, তখন আদেশটি ছিল:

a, b, c, ch, d, e, f, g, h, i, j, k, l, ll, m, n, ñ, o, p, q, r, s, t, u, v, w, x, y, z

1994 সাল থেকে llএবং chদুটি বর্ণের দলের হিসেবে বিবেচিত হয় ( l, lএবং c, hএইভাবে বর্ণানুসারে ইংরেজিতে হিসাবে একই চিঠি বাদ দিয়ে যথাক্রমে), এবংñ

পুরানো ক্রমটি অবশ্যই আকর্ষণীয় ছিল

চ্যালেঞ্জ

শূন্য বা আরও শব্দের একটি তালিকা ইনপুট করুন এবং পুরাতন স্প্যানিশ বর্ণানুক্রমিক ক্রম অনুসারে তালিকাটি সাজানো হয়েছে আউটপুট। বাছাই শব্দের মধ্যে (কোনও শব্দের মধ্যে বর্ণের মধ্যে নয়)। এটি হ'ল শব্দগুলি পারমাণবিক এবং আউটপুটে একই শব্দটি সম্ভবত পৃথকভাবে থাকবে।

প্রক্রিয়া সহজ করার জন্য, আমরা চিঠি বিবেচনা করা হবে না ñ, বা স্বরাঘাত স্বরবর্ণ á, é, í, ó, ú, অথবা অক্ষর বড় হাতের। প্রতিটি শব্দ ASCII 97 ( a) থেকে ASCII 122 ( z) এর মাধ্যমে অন্তর্ভুক্ত রেঞ্জ থেকে নেওয়া এক বা একাধিক অক্ষরের ক্রম হবে ।

যদি lএক সারিতে দুটিরও বেশি অক্ষর থাকে তবে সেগুলি বাম থেকে ডানে গোষ্ঠীভুক্ত করা উচিত। অর্থাৎ lllহয় llএবং তারপর l(না lএবং তারপর ll)।

ইনপুট ফর্ম্যাটটি হতে পারে: শূন্যস্থান দ্বারা, নতুনরেখাগুলি দ্বারা বা কোনও সুবিধাজনক অক্ষর দ্বারা পৃথক করা শব্দ। শব্দগুলি আপনার পছন্দ অনুসারে উদ্ধৃতি চিহ্নগুলি দ্বারা ঘিরে থাকতে পারে। শব্দের একটি তালিকা বা অ্যারে গ্রহণযোগ্য। যে কোনও যুক্তিসঙ্গত বিন্যাস বৈধ; শুধু আপনার উত্তরে এটি বিবরণ।

একইভাবে, আউটপুটটি কোনও যুক্তিসঙ্গত বিন্যাসে হবে (অগত্যা ইনপুট হিসাবে একই হবে না)।

কোড গল্ফ, সংক্ষিপ্ততম জয়।

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

নিম্নলিখিত উদাহরণগুলিতে শব্দগুলি স্পেস দ্বারা পৃথক করা হয়। প্রথম লাইনটি ইনপুট, দ্বিতীয়টি আউটপুট:

llama coche luego cocina caldo callar calma
caldo calma callar cocina coche luego llama

cuchara cuchillo cubiertos cuco cueva
cubiertos cuco cuchara cuchillo cueva

"শব্দ" একক অক্ষরও হতে পারে:

b c a ch ll m l n
a b c ch l ll m n

বা সম্ভাব্য সংমিশ্রণগুলি (নিয়মটি মনে রাখবেন যে lবাম থেকে ডানদিকে ভাগ করা হয়েছে):

lll llc llz llll lllz
llc lll lllz llll llz

একটি খালি ইনপুট একটি খালি আউটপুট দিতে হবে:



অবশ্যই, এই আদেশটি অন্যান্য ভাষায়ও প্রয়োগ করা যেতে পারে:

chiaro diventare cucchiaio
cucchiaio chiaro diventare

all alternative almond at ally a amber
a almond alternative all ally amber at

5
প্রশ্নটি এখনই সংশোধন করতে দেরী হয়েছে, কারণ এর একটি উত্তর রয়েছে, তবে আসলে আরআরও একটি চিঠি ছিল। আমি বিশ্বাস করি এটি এলএল এবং সিএইচের চেয়ে পরে একটি একক চিঠি হিসাবে তার অবস্থান হারিয়েছে, তাই উইকিপিডিয়ায় ব্যাখ্যাটি আংশিক হিসাবে এতটা ভুল নয়।
পিটার টেলর


3
@ পিটারটেলর অফিসিয়াল একাডেমি (আরএই) একটিও চিঠি বিবেচনা করে নিrr ; কমপক্ষে 1803 সাল থেকে নয়। তবে এটি সত্য যে স্পষ্টতই আমেরিকাতে এটি একটি একক চিঠি হিসাবে বিবেচিত হয়েছিল
লুইস মেন্ডো

1
দেখে মনে হচ্ছে হাঙ্গেরিয়ান একটি পৃথক, আরও বেশি কঠিন চ্যালেঞ্জের দাবিদার :-)
লুইস মেন্ডো

1
ওয়েলশ বর্ণমালাগুলির প্রচুর পরিমাণে এগুলি রয়েছে এবং সম্ভবত এটি আকর্ষণীয় যেহেতু তারা (ইংরেজি) বর্ণানুক্রমিক ক্রমে নেই, বা সমস্ত লাতিন অক্ষর অন্তর্ভুক্ত করেছে: ক, বি, সি, সি, সি, ডি, ডিডি, ই, এফ, এফ, জি,, এনজি, এইচ, আই, জে, এল, এল, এম, এন, ও, পি, ফ, আর, আর, এস, টি, থ, ইউ, ডব্লু, ওয়াই
অ্যালজি টেইলর ১১'১৯

উত্তর:


7

পাইথ, 14 13 বাইট

আপডেট: দেখেছি এটি গৃহীত হয়েছে এবং একটি তুচ্ছ 1 বাইট গল্ফ লক্ষ্য করেছে। উপস।

:D"ll|ch|."1Q

এটি অনলাইনে চেষ্টা করুন। পরীক্ষা স্যুট.

প্রতিটি শব্দের জন্য, রেজেক্সের জন্য সমস্ত অ-ওভারল্যাপিং মিলগুলি সন্ধান করুন ll|ch|.। এটি শব্দটিকে "অক্ষরগুলিতে" বিভক্ত করে। তারপরে, কেবল বিভক্ত তালিকাগুলির দ্বারা শব্দগুলি সাজান।


দুর্দান্ত পন্থা! (এখন যে আমি শেষ পর্যন্ত এটি বুঝতে পেরেছি) :-)
লুইস মেন্ডো

এই কোডটি একেবারে আকর্ষণীয়:D
এরিক দ্য আউটগল্ফার

3

পাওয়ারশেল, 46 44 51 50 বাইট

$args|sort @{e={$_-replace'(?=ch|ll)(.).','$1Α'}}

দ্য Αচরিত্র গ্রিক বর্ণ আলফা যা PowerShell ডিফল্ট সাজানোর ক্রম সমস্ত ল্যাটিন অক্ষর পরে আসে (আমার মেশিনে অন্তত, আমি নিশ্চিত যদি এটি অন্যান্য লোকেলে আলাদা নই) হয়। এটি ইউটিএফ 8 এনকোডিংয়ে 2 বাইট হিসাবে গণনা করা হয়।

ব্যবহারের উদাহরণস্বরূপ, এই স্ট্রিংটি নামের একটি ফাইলে সংরক্ষণ করা হয়েছে তা ধরে নিচ্ছেন es-sort.ps1:

> es-sort.ps1 'lzego' 'luego' 'llama'

luego
lzego
llama

2

গণিত, 81 বাইট

StringReplace[Sort@StringReplace[#,"ch"->"cZ","ll"->"lZ"],"cZ"->"ch","lZ"->"ll"]&

টিমমিডের উত্তর হিসাবে একই পন্থা।


1

পাইথন 2, 128 116 বাইট

lambda p:map(''.join,sorted([{'!':'ll','?':'ch'}.get(c,c)for c in w.replace('ll','!').replace('ch','?')]for w in p))

আমি এখনও মনে করি এখানে অবশ্যই উন্নতির জন্য জায়গা আছে।



1

পার্ল, 40 বাইট

এর জন্য +1 অন্তর্ভুক্ত -p

STDIN- এ শব্দের তালিকা সহ চালান:

perl -p spanisort.pl <<< "llama coche luego cocina caldo callar calma"

spanisort.pl

s/ll|ch|./\u$&/g;$_="\L@{[sort split]}"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.