telgif: বিপরীত ফলক


20

figletইউটিলিটি হ'ল প্লেইন টেক্সটটিকে ব্যানার এবং এর মতো ব্যবহারের জন্য একটি এসিআই-আর্ট উপস্থাপনায় রূপান্তরিত করে। উদাহরণ স্বরূপ:

$ figlet "CODE GOLF"
  ____ ___  ____  _____    ____  ___  _     _____ 
 / ___/ _ \|  _ \| ____|  / ___|/ _ \| |   |  ___|
| |  | | | | | | |  _|   | |  _| | | | |   | |_   
| |__| |_| | |_| | |___  | |_| | |_| | |___|  _|  
 \____\___/|____/|_____|  \____|\___/|_____|_|    

$

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা আসকি-আর্ট আউটপুট থেকে নেয় figletএবং এটিকে তার মূল সমতল পাঠ্যে ফিরিয়ে দেয়।

এটি ইনস্টল করতে আপনার পক্ষে সহায়ক হতে পারে figlet। আমার কাছে ভার্সন ২.২.৫ রয়েছে যা আপনি যদি sudo apt-get install figletউবুন্টু ১৪.০৪ তে পান তবে আপনি যা পাবেন । এই বেগুনিটির আসলে বেশ কয়েকটি "ফন্ট" রয়েছে। এই প্রসঙ্গের উদ্দেশ্যে, আমরা কেবলমাত্র ডিফল্ট standardফন্টের সাথে কাজ করব।

ইনপুট পাঠ্যটি আর ৮০ টি অক্ষর প্রশস্ত হবে না এবং এটি কেবলমাত্র বড় হাতের অক্ষর এবং স্পেস সহ সমতল পাঠ্য থেকে উত্পন্ন হবে।

আপনার প্রোগ্রামটি figletকোনও উপায়ে কল বা তার উত্স কোড নাও পারে ।

উদাহরণ

ইনপুট:

    _    ____   ____ ____  _____ _____ ____ _   _ ___ 
   / \  | __ ) / ___|  _ \| ____|  ___/ ___| | | |_ _|
  / _ \ |  _ \| |   | | | |  _| | |_ | |  _| |_| || | 
 / ___ \| |_) | |___| |_| | |___|  _|| |_| |  _  || | 
/_/   \_\____/ \____|____/|_____|_|   \____|_| |_|___|

     _ _  ___     __  __ _   _  ___  ____   ___  ____  
    | | |/ / |   |  \/  | \ | |/ _ \|  _ \ / _ \|  _ \ 
 _  | | ' /| |   | |\/| |  \| | | | | |_) | | | | |_) |
| |_| | . \| |___| |  | | |\  | |_| |  __/| |_| |  _ < 
 \___/|_|\_\_____|_|  |_|_| \_|\___/|_|    \__\_\_| \_\

 ____ _____ _   ___     ____        ____  ____   _______
/ ___|_   _| | | \ \   / /\ \      / /\ \/ /\ \ / /__  /
\___ \ | | | | | |\ \ / /  \ \ /\ / /  \  /  \ V /  / / 
 ___) || | | |_| | \ V /    \ V  V /   /  \   | |  / /_ 
|____/ |_|  \___/   \_/      \_/\_/   /_/\_\  |_| /____|

আউটপুট:

ABCDEFGHI
JKLMNOPQR
STUVWXYZ

ইনপুট:

 ____ _____  _    ____   __        ___    ____  ____  
/ ___|_   _|/ \  |  _ \  \ \      / / \  |  _ \/ ___| 
\___ \ | | / _ \ | |_) |  \ \ /\ / / _ \ | |_) \___ \ 
 ___) || |/ ___ \|  _ <    \ V  V / ___ \|  _ < ___) |
|____/ |_/_/   \_\_| \_\    \_/\_/_/   \_\_| \_\____/ 

আউটপুট:

STAR WARS

এই প্রশ্নের পূর্ববর্তী সম্পাদনাটিতে নোট করুন যাতে উপরের এবং লোয়ার কেস অক্ষর যুক্ত সংখ্যাগুলি থাকে allowed এটি চিহ্নিত করা হয়েছিল যে এটি নির্দিষ্ট সংলগ্ন চরিত্রের সংমিশ্রণের সাথে বেশ কয়েকটি অস্পষ্টতার কারণ হয়ে দাঁড়িয়েছে। এটা স্পষ্ট হয়ে উঠল যে আমাকে দৃor়রূপে এমন কোনও সংঘর্ষের সাথে অক্ষরের একটি সেট সন্ধান করার দরকার ছিল যাতে প্রতিযোগিতাটি বাস্তবে সক্ষম হয়। প্রথমে আমি এই শেল ওয়ান-লাইনারের সাহায্যে সমস্ত ছোট হাতের অক্ষর যুক্ত সংখ্যা চেষ্টা করেছি:

for t in {0..9}{a..z} {a..z}{a..z} {a..z}{0..9} {0..9}{0..9} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'

এটি অস্পষ্ট জোড়া হিসাবে { j1, jl} এবং { i1, ilyield পেয়েছিল। সুতরাং সমস্ত বড় হাতের অক্ষরের পরিবর্তে (@ অ্যালেক্সা প্রস্তাবিত)) এর সাথে কোনও অস্পষ্ট জুড়ি নেই:

for t in {A-Z} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'

5
আমি একটি 'আপনি ফিগলেট নাও বলতে পারেন' ধারাটি উপস্থাপন করব, কারণ অন্যথায় অবশ্যই সংক্ষিপ্ততম প্রোগ্রামটি সম্ভাব্য সমস্ত স্ট্রিংগুলিতে পুনরাবৃত্তি করবে, সেগুলিতে ফলক কল করবে এবং তারপরে সমতার জন্য তুলনা করবে।
orlp

1
ফিজলেটের উত্স কোডটি নিম্নলিখিত গিট রেপোতে পাওয়া যাবে: git://git.debian.org/git/collab-maint/figlet.git(এর সাথে ডাউনলোড করুন git clone)।
ডুরকনব

4
দ্রষ্টব্য: এই চ্যালেঞ্জটি কোড করা খুব কঠিন, কোড গল্ফকে ছেড়ে দিন।
লিন

4
1এবং lঅভিন্ন নয়, V1এবং Vlহয়।
লিন

2
ফিগলেট চালাতে পারে এমন কোনও সিস্টেম নেই এমন লোকদের জন্য বিভিন্ন অনলাইন সংস্করণ রয়েছে। "ফিগলেট অনলাইনে" অনুসন্ধান করুন। উদাহরণস্বরূপ, এটিকে মোটামুটি সোজা এবং বিজ্ঞাপন মুক্ত দেখায়: নেটওয়ার্ক-সায়েন্স.ডে / এসসিআই । নিশ্চিত করুন যে আপনি "স্ট্যান্ডার্ড" ফন্টটি বেছে নিয়েছেন।
রেটো কোরাাদি

উত্তর:


3

সিজেএম, 147 বাইট, কিছুটা ভাঙা

qN/6/{z{:i:+165%91%' +}%"e 3 VG rr A>Q V) rP r4 />/ F> [> C >> 9$ j8 fQrQ rG rN rD VV $>$ ;$ 859 98 ff = BB"S/eeWf%$W%{~@@/\a*}/{`''#},'@f+'@/S*N}%

এটি কোডে জিএলএফ এবং এজেড পাস করে তবে স্টার ওয়ারগুলি নয় (যা এটি পড়ছে SAR WARS)। আমি হাল ছেড়ে দিই, তবে হয়তো কেউ অনুপ্রাণিত হয়েছে।


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