মধ্যযুগীয় অরোগ্রাফি


9

কার্য

আপনার কাজটি একটি পাঠ্যকে মধ্যযুগীয় অর্থোগ্রাফিতে রূপান্তর করা।

বিস্তারিত

  1. jরূপান্তরিত হয় iএবং Jকরতে I
  2. uএবং Uশব্দের শুরুতে রূপান্তরিত হয় vএবং Vযথাক্রমে।
  3. vএবং Vশব্দের শুরুতে ছাড়া যে কোন জায়গায় এ রূপান্তরিত হয় uএবং Uযথাক্রমে।
  4. sſশব্দের শেষে বা অন্যটির আগে না থাকলে (U + 017F) তে রূপান্তরিত হয় s

চশমা

  • একটি শব্দের মধ্যে অক্ষরের ক্রম হিসাবে সংজ্ঞায়িত করা হয় abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  • সমস্ত শব্দে কমপক্ষে দুটি বর্ণ থাকবে।
  • ইনপুটটিতে কেবল মুদ্রণযোগ্য ASCII অক্ষর (U + 0020 - U + 007E) থাকবে।
  • পরপর দু'জনের বেশি ঘটনা ঘটবে না s। এটি হ'ল sssইনপুটটির একটি স্ট্রস্ট্রিং হবে না।

Testcases

পৃথক শব্দ:

Input       Output
------------------------
Joy         Ioy
joy         ioy
Universe    Vniuerſe
universe    vniuerſe
Success     Succeſs
successfull ſucceſsfull
Supervise   Superuiſe
supervise   ſuperuiſe
Super-vise  Super-viſe
I've        I've
majors      maiors
UNIVERSE    VNIUERSE
0universe   0vniuerſe
0verify     0verify
I0ve        I0ve
_UU_          _VU_
_VV_          _VU_
ss_         ſs_

পুরো অনুচ্ছেদ:

Input:  Christian Reader, I have for thy use collected this small Concordance, with no small labour. For being to comprise much in little roome, I was to make choyse of the most principall and usefull places, and to rank them under such words as I thought most essentiall and materiall in the sentence, because the scant roome allotted unto me, would not permit that I should expresse them under every word in the verse, as it is the manner in large Concordances.

Output: Chriſtian Reader, I haue for thy vſe collected this ſmall Concordance, with no ſmall labour. For being to compriſe much in little roome, I was to make choyſe of the moſt principall and vſefull places, and to rank them vnder ſuch words as I thought moſt eſsentiall and materiall in the ſentence, becauſe the ſcant roome allotted vnto me, would not permit that I ſhould expreſse them vnder euery word in the verſe, as it is the manner in large Concordances.

রয়েছে SHA-256 গত testcase আউটপুট এর হ্যাশ হল:

5641899e7d55e6d1fc6e9aa4804f2710e883146bac0e757308afc58521621644

দাবি পরিত্যাগী

মেডিয়েভাল অর্থোগ্রাফি যে কনট্যান্ট নয়। আপনি যদি অন্যরকম অরথোগ্রাফির সাথে পুরাতন বুকগুলি ſhall ſ করতে পারেন তবে দয়া করে অভিযোগ করবেন না।


1
"আপনাকে আউটপুটে ſ এর পরিবর্তে f ব্যবহারের অনুমতি দেওয়া হয়েছে।" সুতরাং মূলত ব্যবহার করার জন্য কোনও উত্সাহ নেই - যেহেতু এটি আরও বাইট নেয়।

1
@ ফ্যাটালাইজ ফেয়ার পয়েন্ট এটি একটি সরানো হয়েছে।
ফাঁস নুন

@ লাকিউন আমরা কি তাহলে ſ1 বাইট হিসাবে গণনা করতে পারি ?
আর কাপ,

al ব্যবহার না করা হলে কিছু অ্যালগরিদমে ff রূপে ff আকারে আসলে প্রণোদনা রয়েছে
ধ্বংসাত্মক লেবু

1
Super-viseহয়ে উঠবে না Super-viſe?
আর কপ

উত্তর:


3

এসইডি, 144 140 111 বাইট

NoOneIsHere ধন্যবাদ 29 বাইট সংরক্ষণ করা

-r -e'y/j/i/g;y/J/I/g;s/ u/ v/g;s/ U/ V/g;s/^u/v/g;s/^U/V/g;s/([^s])s(\w)/\1ſ\2/g;s/(\w)v/\1u/g;s/(\w)V/\1U/g'

1
তুমি সাহসী, সাহসী আত্মা।
আলেকজান্ডার - মনিকা

আপনি কেবল 1 ব্যবহার করে অনেকগুলি বাইট কাটতে পারেন -e;এস ইনবেটউইন স্টেটমেন্ট ব্যবহার করুন ।
NoOneIsHere

আমি জানতাম না যে আপনি এটি করতে পারবেন। ধন্যবাদ !!
রিলে

2

পাইথন 3 ( 128 126 বাইট)

import re;lambda k:re.sub("(?<!s)s(?=[a-zA-Z])",'ſ',re.sub("(?i)j|(?<![a-z])u|(?<=[a-z])v",lambda c:chr(ord(c.group())^3),k))

chr(ord(c.group())^3)একটি একক-চরিত্রের স্ট্রিংকে এক্সওর করার জন্য অত্যধিক অনুভূতি বোধ করে তবে সত্যিকারের পাইথনিস্তা কোনও গল্ফের পরামর্শ দিতে পারে। যাইহোক, এটা যে খুব সুবিধাজনক ^3যথেষ্ট অদলবদল করতে i <-> jএবং u <-> v

এনবি এখানে কেবলমাত্র পাইথন 3 প্রয়োজন যা ইউনিকোড চরিত্র: পাইথন 2 অভিযোগ করে Non-ASCII character '\xc5' <snip> but no encoding declared


অঙ্ক এবং আন্ডারস্কোর অন্তর্ভুক্ত এমন শব্দের সংজ্ঞা ব্যবহার করার \bকারণে আপনার \bব্যবহার করা উচিত নয় ।
ফাঁস নুন

@ লিক্যুন, হুম আমি যখন একটি সমাধান খুঁজছি, আপনি কি কিছু পরীক্ষার কেস যুক্ত করতে পারেন?
পিটার টেলর

@ R.Kap। (?i)
পিটার টেলর

@ পিটারটেলর অপেক্ষা করুন, এটি কী করে?
আর কাপ,

@ আর কেপ, এটি রেজেক্স কেস-সংবেদনশীল করে তোলে।
পিটার টেলর


1

পাইথন 3.5, 124 116 111 118 125 144 142 বাইট:

import re;lambda k:re.sub("J|j|(?<![a-zA-Z])[uU]|(?<=[a-zA-Z])[Vv]|(?<!s)s(?=[a-zA-Z])",lambda g:dict(zip('jJuUvVs','iIvVuUſ'))[g.group()],k)

ভাল, এটি নিয়মিত প্রকাশের জন্য নিখুঁত কাজ বলে মনে হচ্ছে !


1
আপনি এর J|jপরিবর্তে ব্যবহার করতে পারেন[Jj]
লিকি নুন

1

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

বর্ণমালার অক্ষর সনাক্ত করতে পার্সেন্ট ব্যবহার করে Using দ্রষ্টব্য: দুর্ভাগ্যক্রমে তবে ভাগ্যক্রমে parseInt('undefined',36)|0<0

s=>[...s].map((c,i)=>((n=v(c))-19?n==31&p>9?'uU':n!=30|p>9?c=='s'&s[i-1]!=c&v(s[i+1])>9?'?':c+c:'vV':'iI')[p=n,c<'a'|0],p=0,v=c=>parseInt(c,36)|0).join``

কম গল্ফড

s=>
  [...s].map(
  (c,i)=>
  ((n=v(c))-19
  ?n==31&p>9
    ?'uU'
    :n!=30|p>9
      ?c=='s'&s[i-1]!=c&v(s[i+1])>9
        ?'ſ'
        :c+c
      :'vV'
  :'iI')[p=n,c<'a'|0],
  p=0,
  v=c=>parseInt(c,36)|0
).join``

পরীক্ষা

F=
s=>[...s].map((c,i)=>((n=v(c))-19?n==31&p>9?'uU':n!=30|p>9?c=='s'&s[i-1]!=c&v(s[i+1])>9?'ſ':c+c:'vV':'iI')[p=n,c<'a'|0],p=0,v=c=>parseInt(c,36)|0).join``

out=(a,b,c)=>O.textContent+=a+'\n'+b+'\n'+c+'\n\n'

ti='Christian Reader, I have for thy use collected this small Concordance, with no small labour. For being to comprise much in little roome, I was to make choyse of the most principall and usefull places, and to rank them under such words as I thought most essentiall and materiall in the sentence, because the scant roome allotted unto me, would not permit that I should expresse them under every word in the verse, as it is the manner in large Concordances.'
to='Chriſtian Reader, I haue for thy vſe collected this ſmall Concordance, with no ſmall labour. For being to compriſe much in little roome, I was to make choyſe of the moſt principall and vſefull places, and to rank them vnder ſuch words as I thought moſt eſsentiall and materiall in the ſentence, becauſe the ſcant roome allotted vnto me, would not permit that I ſhould expreſse them vnder euery word in the verſe, as it is the manner in large Concordances.'
r=F(ti)
out(to==r?'OK':'KO',ti,r)

test=`Joy         Ioy
joy         ioy
Universe    Vniuerſe
universe    vniuerſe
Success     Succeſs
successfull ſucceſsfull
Supervise   Superuiſe
supervise   ſuperuiſe
Super-vise  Super-viſe
I've        I've
majors      maiors
UNIVERSE    VNIUERSE
0universe   0vniuerſe
0verify     0verify
I0ve        I0ve
_UU_          _VU_
_VV_          _VU_
ss_         ſs_`
.split('\n').map(t=>{
  var [i,o]=t.split(/\s+/),r=F(i)
  out(o==r?'OK':'KO',i,r)
})
#O {width:90%; overflow:auto; white-space: pre-wrap}
<pre id=O></pre>


1

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

s=>s.replace(/[a-z]+/gi,w=>w.replace(/j|J|^u|^U|\Bv|\BV|ss|s(?!$)/g,c=>"iIvVuUſ"["jJuUvVs".search(c)]||"ſs"))

ব্যাখ্যা: যেহেতু জাভাস্ক্রিপ্টের রেজিপ্স্পের কোনও চেহারা নেই, আমি তার পরিবর্তে শব্দগুলিতে স্ট্রিংটি বিভক্ত করি, যা পরে আমাকে ব্যবহার করতে দেয় ^এবং \Bনেতিবাচক এবং ধনাত্মক বর্ণ বর্ণমালা হিসাবে দেয়। ssসামান্য বিশ্রী প্রতিস্থাপনের অভিব্যক্তি যা আলাদাভাবে কেবলমাত্র প্রথম চরিত্রের পরিবর্তে cবা sউভয় স্ট্রিংয়ের জন্য একটি অতিরিক্ত যুক্ত করে এবং ম্যাচিং স্ট্রিং ব্যবহার করে তুলনায় কম বাইট নেয়, তার সাথে আলাদাভাবে মিলিয়ে ডিল করা হয় ।


c=>"iIvVuUſ"["jJuUvVs".search(c)]||"ſs"সুন্দর. 👍🏻
জর্ডান

0

সিজেএম ( 89 88 বাইট)

{32|_'`>\'{<*}:A;SqS++3ew{_1="jJuUvVs"#[-4_{_0=A!3*}_{_0=A3*}_{_)A\0='s=>268*}W]=~f^1=}%

অনলাইন ডেমো

আমি কখনই বুঝতে পারি নি যে সিজেমে কেন রেজিেক্সস নেই, তবে যেহেতু এটি এখানে কোনও সমাধান দেয় যা এটি ব্যবহার করে না।


0

রুবি, 85 + 1 = 86 বাইট

ruby -p( pপতাকার জন্য +1 বাইট ) দিয়ে চালান । স্টিডিনে ইনপুট নেয়।

gsub(/j|(?<=^|[^a-z])u|(?<=[a-z])v|(?<=^|[^s])s(?=[a-z])/i){$&.tr"jJsUuVv","iIfVvUu"}

আইডিয়নের উপর পরীক্ষা চালান (সেখানে একটি ল্যাম্বডায় জড়ানো কারণ আপনি আদর্শকে পতাকা দিতে পারেন না): http://ideone.com/AaZ8ya

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