তিনি আসেন না - একটি জালগো চ্যালেঞ্জ


25

একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি স্ট্রিং দেওয়া থাকলে তা যদি জালগো থেকে কেটে ফেলা হয়, যদি কোনও উপস্থিত থাকে।

Zalgo

এই পোস্টের জন্য, জালগো নিম্নলিখিত ইউনিকোড ব্যাপ্তিগুলির যে কোনও অক্ষর হিসাবে সংজ্ঞায়িত হয়েছে:

  • ডায়াক্রিটিকাল মার্কস (0300–036F) সংমিশ্রণ
  • বর্ধিত ডায়াক্রিটিকাল চিহ্নগুলির সংমিশ্রণ (1AB0–1AFF)
  • ডায়াক্রিটিকাল মার্কস পরিপূরক (1D0–1DFF) সংমিশ্রণ
  • প্রতীকগুলির জন্য ডায়াক্রিটিকাল চিহ্নগুলির সংমিশ্রণ (20D0–20FF)
  • অর্ধ চিহ্নের সংমিশ্রণ (FE20 – FE2F)

https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges

ইনপুট

  • আপনার ভাষা দ্বারা সমর্থিত কমান্ড লাইন আর্গুমেন্ট, এসটিডিএন বা অন্য কোনও স্ট্যান্ডার্ড পদ্ধতিতে যেতে পারে
  • একটি স্ট্রিং হবে যাতে জালগো বা অন্যান্য অ-এসসিআইআই অক্ষর থাকতে পারে বা নাও থাকতে পারে

আউটপুট

আউটপুট একটি স্ট্রিং হওয়া উচিত যাতে কোনও জালগো থাকে না।

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

Input -> Output

HE̸͚ͦ ̓C͉Õ̗͕M͙͌͆E̋̃ͥT̠͕͌H̤̯͛ -> HE COMETH
C͉̊od̓e͔͝ ̆G̀̑ͧo͜l͔̯͊f͉͍ -> Code Golf
aaaͧͩa͕̰ȃ̘͕aa̚͢͝aa͗̿͢ -> aaaaaaaaa
ññ        -> ñn
⚡⃤       -> ⚡

স্কোরিং

এটি , বাইট জেতে সংক্ষিপ্ত উত্তর।


3
স্ট্রিংটি কেবলমাত্র ASCII এবং / অথবা জালগো ধারণের গ্যারান্টিযুক্ত? অথবা এটিতে অন্য ইউনিকোড থাকতে পারে?
DJMcMayhem

4
এই চরিত্রগুলির বৈধ ব্যবহার সম্পর্কে কী? জালগো তখনই যথেষ্ট যখন সেই চরিত্রগুলি একে অপরের সাথে এমনভাবে স্ট্যাক করে যা কখনই উদ্দেশ্য ছিল না।
ড্রাকো 18s

@ ডিজেএমসিএমহেম ইনপুট স্ট্রিং-এ অন্যান্য নন-এএসসিআইআই অক্ষর থাকতে পারে যা মুছে ফেলা উচিত নয়।
সম্পূর্ণমানবিক

1
@ টোটালিহুমান আমি আরও জেনেরিক পদ্ধতির কথা ভাবছিলাম: কেবল "স্ট্যান্ডার্ড" চরিত্রের পরে যদি একাধিক ঘটনা ঘটে তবেই তা ছিটকে যায়। এটা ঠিক আছে তবে a͕̰ছিটকে যায় a। (এছাড়াও এখন, ইমোজি ডিটেক্টরকে ধন্যবাদ, আমি ইমোজি-তে ডায়রিটিক্স লাগাতে চাই ... ff পিএফটিটি, যে নির্বোধ দেখাচ্ছে)
ড্র্যাকো 18

2
আপনার নন-এসসিআইআই আউটপুট সহ কিছু পরীক্ষার কেস যুক্ত করা উচিত।
xnor

উত্তর:


13

রেটিনা , 35 বাইট

T`̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯

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

ইনপুট থেকে চ্যালেঞ্জে প্রদত্ত রেঞ্জের সমস্ত অক্ষরকে কেবল সরিয়ে দেয়। কোডটি অবশ্যই অবশ্যই দুর্দান্ত অপঠনযোগ্য, তবে কোডটি ধারণাগতভাবে এমন কিছু থেকে আলাদা নয় T`0-9A-Za-zযা সমস্ত বর্ণমালা অক্ষর মুছবে।


3
আমার কাছে যথেষ্ট অপরাজেয় বলে মনে হচ্ছে।
এরিক আউটগল্ফার

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

আসলে আমি এটা করতে সক্ষম মনে করি না।
এরিক আউটগল্ফার

আমি অবাক হয়েছি এখনও কোনও জেলি সমাধান নেই।
সম্পূর্ণরূপে

@ আইসরিভেরিটিম এখানে , এবং চিপ এটি দীর্ঘ। এর থেকে আরও কার্যকরভাবে কোডপয়েন্টগুলি কীভাবে উত্পন্ন করা যায় তা আমি খুঁজে
পাইনি

7

পাইথন 3 , 73 69 বাইট

-4 বাইট L3viathan ধন্যবাদ।

আপনার নিজের চ্যালেঞ্জে অংশ নেওয়া ঠিক আছে কিনা তা নিশ্চিত নন তবে ... রেজেক্স এবং মূলত ধারণাটিও>> জেএস এবং রেটিনা উত্তর থেকে সরাসরি চুরি করেছেন ।

lambda s:re.sub('[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]','',s)
import re

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


1
একটি সাধারণ আমদানির বিবৃতি তৈরি করে 4 বাইট সংরক্ষণ করুন।
L3viathan

আপনি বাইট গণনা আপডেট করতে ভুলে গেছেন।
xnor

@ এক্সনোর হাহ? আমার কাছে ঠিক মনে হচ্ছে
নিখুঁতভাবে

@ টোটালিহুমান আমার ভুল, মিস করেছেন যে এই চরগুলি মাল্টিবাইট।
xnor

ঠিক আছে, এটা বলা ঠিক যে আমি রেটিনা উত্তর থেকে চরিত্রের সীমাটি চুরি করেছি। (যদিও যত্ন সহকারে, যেহেতু আমার সম্পাদক দালালদের সাথে জালগো সরাতে চেয়েছিলেন `।)
নীল



4

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

লেখার চেয়ে ছোট

<?=preg_replace("#[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]#u","",$argn);

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

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

<?=preg_replace("#[\u{300}-\u{36f}\u{1ab0}-\u{1aff}\u{1dc0}-\u{1dff}\u{20d0}-\u{20ff}\u{fe20}-\u{fe2f}]#u","",$argn);

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

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

প্রদত্ত টেস্টক্যাসগুলির জন্য বৈধ এটি সমস্ত চিহ্ন সরিয়ে দেয়

<?=preg_replace("#\pM#u","",$argn);

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


@ ফেলিক্সডোমব্যাক না এটি প্রদত্ত রেঞ্জগুলিতে কেবলমাত্র সমস্ত
চিহ্নকে

3

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

আপাতত কেবল একটি সহজ উত্তর, আসুন এটি কতটা গল্ফযোগ্য তা দেখুন।

lambda y:"".join(chr(x)for x in map(ord,y)if not(767<x<880or 6831<x<6912or 7615<x<7680or 8399<x<8448or 65055<x<65072))

পরিবর্তণের:

  • কখন কখন জানতে পারি যে বোধগম্যগুলি কার্যকরী স্টাফের চেয়ে কম (-9 বাইট)।

0orকোনও জিনিস নয়, সুতরাং আপনাকে এটি ঠিক করতে হবে বা এটি উত্থাপন করবে SyntaxError
এরিক আউটগল্ফার

2
@ এরিকথিউটগল্ফার আপনি কি আসলে এটি পরীক্ষা করেছেন? পাইথন 3 বা 2
L3viathan

হ্যাঁ সঠিক. আমি কিছুটা বিভ্রান্ত হয়ে পড়েছিলাম।
এরিক আউটগল্ফার


2

এপিএল (ডায়ালগ ইউনিকোড) , 43 বাইট

'[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]'R''

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

পিসিআর আর এপিসে সমস্ত কিছুই নেই


44 বাইট সংস্করণ RegEx বা অদ্ভুত অক্ষর অক্ষর ব্যবহার করে না (এবং এইভাবে অক্ষর প্রতি একক বাইট):

⍞~⎕UCS65055 8399 7615 6831 767+⍳¨16×2 6~⍨⍳7

এটি অনলাইন চেষ্টা করুন! ⍳7 1… 7 (1 2 3 4 5 6 7)

2 6~⍨ 2 এবং 6 বাদে (1 3 4 5 7)

16× 16 (16 48 64 80 112) দিয়ে গুণ করুন

⍳¨ 1… প্রতিটি (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16, 1 2 3…,… 110 111 112)

+ প্রতিটি তালিকায় অফসেট যুক্ত করুন (65056 65057 65058…,… 877 878 ​​879)

 তালিকাভুক্ত (সমতল)

⎕UCS সংশ্লিষ্ট ইউনিকোড অক্ষরে রূপান্তর করুন

⍞~ পাঠ্য ইনপুট পান এবং এই জাতীয় সমস্ত অক্ষর সরিয়ে ফেলুন


2

জেলি , 32 বাইট

“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’bȷ5r2/FỌḟ@

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

ব্যাখ্যা

“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’bȷ5r2/FỌḟ@  Main link
“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’            Base 250 compressed integer; 768008790683206911076160767908400084476505665071
                      bȷ5         Convert into base 100000; [768, 879, 6832, 6911, 7616, 7679, 8400, 8447, 65056, 65071]
                         r2/      Inclusive range on non-overlapping slices of length 2
                            F     Flatten
                             Ọ    chr; cast to character from codepoints
                              ḟ@  Filter; remove all characters from input that are in the characters generated before

o0 বুঝতে পারিনি যে আমি এই প্রশ্নটি ঠাপিয়েছি ol এটা কি b65072আমার মনে এটা? : o
নিখুঁতভাবে

@ আইক্রিওয়ারিটিম হ্যাঁ সংখ্যাসমূহের তালিকা সংক্ষেপণ: ডি
হাইপারনিউটারিনো

জেলি অবশ্যই জালগো ভাষা। আমি ভাবছি আপনি যদি নিজের কোডে প্রোগ্রামটি চালান তবে কি হবে? সম্পাদনা করুন: দুর্ভাগ্যক্রমে কিছুই নয়
স্পেস জাঙ্ক


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