পাইথ অনুশীলন 2


21

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

পাইথের গল্ফ করার সময় যে কৌশলগুলি এবং অপ্টিমাইজেশন ব্যবহার করা যেতে পারে সেগুলি সম্পর্কে এটি একটি চ্যালেঞ্জ। পাইথ গল্ফাররা এতে জড়িত অনেক কৌশলকে চিনতে পারে যা সংক্ষিপ্ত সমাধানের দিকে নিয়ে যায়। তবে কিছু সমস্যার জন্য কিছু অস্বাভাবিক পদ্ধতির প্রয়োজন হবে যা খুব কমই ব্যবহৃত হয়। এমন কিছু কৌশল যা আমি বাস্তবে বন্যের মধ্যে দেখিনি। তবে কোনও সমাধানের জন্য কোনও বাগ বা অদ্ভুত আচরণের প্রয়োজন নেই, এটি পাইথের ডিজাইনার (গুলি) দ্বারা ইচ্ছাকৃত নয়। এই প্রশ্নের পোস্টিং হিসাবে সমস্ত উত্তর অবশ্যই সাম্প্রতিক পাইথ কমিট ( 2b1562 বি ) এর জন্য বৈধ হতে হবে । আপনি পাইথ ইন্টারপ্রেটার ব্যবহার করতে পারেনপরীক্ষার জন্য. এটি এখনই আপ টু ডেট এবং আমি পাইথের কোনও বড় পরিবর্তন আশা করি না, এটি সর্বোত্তম সমাধানগুলিকে অকার্যকর করবে বা সংক্ষিপ্ত সমাধানগুলি সম্ভব করে তুলবে। অনলাইন অনুবাদক এছাড়াও নতুন অক্ষর রেফারেন্স বৈশিষ্ট্যযুক্ত। যেহেতু এটি বেশ নতুন, আপনি কিছু পুরানো ডক্সও ব্যবহার করতে পারেন (হওয়া উচিত) , যদি কিছু ভুল হয় বা হারিয়ে যায়।

লক্ষ্য: রেফারেন্স সমাধানগুলি মোট 81 বাইট। আপনার লক্ষ্যটি যতটা সম্ভব পরাস্ত করা। জমা দেওয়া যা সমস্ত 8 টি সমস্যার সমাধান করে সর্বনিম্ন মোট সংখ্যা বাইট জেতে problems টাইব্রেকার জমা দেওয়ার তারিখ।

অবশ্যই কেবল জমাগুলি বৈধ, যা সমস্ত 8 টি সমস্যার সমাধান করে। আপনি যদি কোনও এক (বা আরও) নির্দিষ্ট সমস্যার স্কোরটি উন্নত করতে না পারেন তবে আপনি রেফারেন্স বাস্তবায়নটি ব্যবহার করতে পারেন।

আপনার সমাধানগুলি অবশ্যই রেফারেন্স সমাধান হিসাবে একই একই আউটপুট মুদ্রণ করতে হবে। Anচ্ছিক ট্রেলিং নিউলাইন ব্যতীত।

যেহেতু এটি একটি পাইথ অনুশীলন, কেবল পাইথ ভাষায় লেখা প্রোগ্রামগুলিই অনুমোদিত।

উত্তর দেওয়া: আপনার মোট স্কোর ব্যতীত আপনার পুরো উত্তরটি ফাঁকি দিন। এটি উদ্দেশ্যযুক্ত যে আপনি নিজের জমা দেওয়ার আগে অন্য ব্যক্তির উত্তরগুলির দিকে তাকাবেন না। আপনি> লাগিয়ে বিলোপকারী তৈরি করতে পারেন! প্রতিটি লাইনের সামনে যেমন:

>! Problem 1: V9m?>dNd0S9 (11 bytes)
>! Problem 2: VTN)VGN (7 bytes)
>! ...

আমি আশা করি আমি খুব কঠিন বা খুব তুচ্ছ সমস্যা বেছে নিই নি। প্রচুর অংশগ্রহণকারীদের জন্য এবং পাইথের জন্য কয়েকটি নতুন অন্তর্দৃষ্টি অর্জনের জন্য প্রত্যাশা। শুভ গল্ফিং!

সমস্যা 1:

নিম্নলিখিত 9x9 ম্যাট্রিক্স তৈরি করুন এবং এটি মুদ্রণ করুন:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 0, 9]

রেফারেন্স সমাধান ( লিঙ্ক ):

V9m?>dNd0S9 (11 bytes)

সমস্যা 2:

সমস্ত অঙ্ক এবং সমস্ত অক্ষর পৃথক লাইনে মুদ্রণ করুন:

0
...
9
a
...
z

রেফারেন্স সমাধান ( লিঙ্ক ):

VTN)VGN (7 bytes)

সমস্যা 3:

ডিক্সোগ্রাফিকভাবে সবচেয়ে ক্ষুদ্রতম প্যালিনড্রোমটি সন্ধান করুন, এটি ক্ষুদ্রতর অক্ষরযুক্ত একটি ইনপুট স্ট্রিংয়ের তুলনায় ডিক্সিকোগ্রাফিকভাবে বড় বা সমান এবং ইনপুট স্ট্রিংয়ের সমান।

a -> a
abc -> aca
adcb -> adda

রেফারেন্স সমাধান ( লিঙ্ক ):

hf&gTzqT_T^Glz (14 bytes)

সমস্যা 4:

[0, ইনপুট নম্বর) এর মধ্যে কোনও নম্বর বিস্তৃত কিনা তা পরীক্ষা করে দেখুন। এটি ভাসমানদের জন্যও কাজ করা উচিত।

4, 6 -> True
5.5, 6 -> True
6, 6 -> False
6, 6.1 -> True

রেফারেন্স সমাধান ( লিঙ্ক ):

&gQ0<QE (7 bytes)

রেফারেন্স বিন্যাসটি হ'ল to be tested value<newline>end value। আপনি তবে আলাদা ইনপুট ফর্ম্যাট চয়ন করতে পারেন। গুরুত্বপূর্ণ কেবলমাত্র, আপনি সমস্যার বিবরণীটি সম্পন্ন করেন এবং সঠিক ফলাফল তৈরি করেন।

সমস্যা 5:

"\ D + [a-zA-Z] +" ফর্ম্যাটের একটি ইনপুট স্ট্রিং পার্স করুন। লক্ষ্য করুন যে সংখ্যাটি আসলেই একটি সংখ্যা হতে হবে, সংখ্যার স্ট্রিং নয়।

'123Test' -> [123, 'Test']

রেফারেন্স সমাধান ( লিঙ্ক ):

A.ggk\Az,sGH (12 bytes)

সমস্যা 6:

এক বা একাধিক কমা দ্বারা পৃথক করা সংখ্যার যোগফল গণনা করুন। আপনি ধরে নিতে পারেন যে স্ট্রিংয়ে কমপক্ষে একটি সংখ্যা রয়েছে।

11,2,,,3,5,,8 -> 29

রেফারেন্স সমাধান ( লিঙ্ক ):

svM:z",+"3 (10 bytes)

সমস্যা 7:

আপনি নম্বরটি না পাওয়া পর্যন্ত ইনপুট থেকে ধনাত্মক পূর্ণসংখ্যাগুলি পড়ুন all সমস্ত সংখ্যার যোগফল মুদ্রণ করুন।

রেফারেন্স সমাধান ( লিঙ্ক ):

WJE=+ZJ)Z (9 bytes)

সমস্যা 8:

মূল ডায়াগোনাল (বাম উপরের কোণ থেকে ডান নীচের কোণায়) বাদে বর্গীয় ম্যাট্রিক্সের সমস্ত উপাদানকে যোগ করুন।

রেফারেন্স সমাধান ( লিঙ্ক ):

-ssQs.e@bkQ (11 bytes)

ভাষা-নির্দিষ্ট প্রশ্নগুলির ধারণাটি আমি সত্যিই পছন্দ করি (এবং আমি এটিকে উত্সাহিত করেছি)। তবে আমি ভেবেছিলাম পিপিসিজিতে ভাষা-নির্দিষ্ট প্রশ্নগুলির উপর গুরুত্ব দেওয়া হয়েছিল?
লুইস মেন্ডো 17

3
@ লুইস মেন্ডো আমি মনে করি যে ভাষা-নির্দিষ্ট প্রশ্নগুলি কেবলমাত্র সিজাম, পাইথ, ..., বা ওপি যেমন কিছু ভাষাগুলি বোঝে তাই গল্ফ করা ভাষার বিরুদ্ধে সাধারণ অপছন্দের কারণ, যদি ভাষা নির্দিষ্ট প্রশ্নাবলীর উপর ভিত্তি করে থাকে। এখানে কিছুটা আলাদা। এই প্রশ্নটি মূলত একটি জনপ্রিয় (পিপিসিজিতে) ভাষার আরও কিছু লুকানো বৈশিষ্ট্য দেখানোর জন্য তৈরি করা হয়েছে। একভাবে এটি কৌশল সংগ্রহের মতো। এটি প্রতিটি ভাষায় এটির অনুমতি দেওয়ার মতো মনোভাব তৈরি করে না। এখানে এই বিষয় সম্পর্কে একটি মেটা পোস্ট রয়েছে: লিঙ্ক
জাকুব

6-এ, সংখ্যাগুলি কী একক-সংখ্যার পূর্ণসংখ্যা হয়?
xnor

@ এক্সনর আপনি ধরে নিতে পারেন যে এগুলি ইতিবাচক, তবে সেগুলিতে একাধিক সংখ্যা থাকতে পারে। আমি পরীক্ষার কেস বদলাবো।
জাকুবে

1
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ এটি অংশের মধ্যে কোনও মিথস্ক্রিয়া ছাড়াই বহু-
অংশীকরণ

উত্তর:


9

59 58 56 বাইট

সমস্যা 1:

j.tmLdS9Z (9 বাইট)

সমস্যা 2:

MTjG (5 বাইট) (প্রথম অক্ষরটি একটি নতুন লাইন)

সমস্যা 3:

h.f_IZ1z (8 বাইট)

সমস্যা 4:

%IQE (4 বাইট)

সমস্যা 5:

,J.vz-zJ (8 বাইট)

সমস্যা 6:

srXz\,d7 (8 বাইট)

সমস্যা 7:

u+GE0 (5 বাইট)

সমস্যা 8:

ss.DR~hZQ (9 বাইট)


2

66 বাইট

1. 10 বাইট: V9+mZN}hN9
2. 6 বাইট: jUT)jG
3. 8 বাইট: h.f_IZ1z
4. (রেফারেন্স বাস্তবায়ন) 7 বাইট: &gQ0<QE
5. 11 বাইট: ,sK-rzZG-zK
6. 7 বাইট: ssMcz\,
7. 8 বাইট: s<.Qx.QZ
8. 9 বাইট:ss.eXbkZQ


2

68 67 66 65 বাইট

কার্যক্রম 1

10 বাইট: V9m*d>dNS9

টাস্ক 2

5 বাইট :, \nMTjGযেখানে \nএকটি নতুন লাইন

কার্য 3

9 বাইট: h.fqZ_Z1z

টাস্ক 4

5 বাইট: qQ%QE

টাস্ক 5

রেফারেন্স সমাধান, 12 বাইট: A.ggk\Az,sGH

কার্য 6

7 বাইট: ssMcz\,

টাস্ক 7

8 বাইট: s<.Qx.Q0

টাস্ক 8

9 বাইট: ss.DVQUlQ


1

54 বাইট

এখানে উদ্দেশ্যযুক্ত সমাধান। টাস্ক 8 বাদে সমস্ত সমাধান পাওয়া গেছে।

1. j.tmLdS9Z (9 বাইটস) বাম-মানচিত্র, TRANSPOSE এবং zeros সঙ্গে ভরাট জন্য মানচিত্র ব্যবহার
2. \ nMTjG (5 বাইটস) জন্য মানচিত্র ব্যবহার নতুন লাইন
3. h.f_IZ1z (8 বাইটস) .f সম্ভব স্ট্রিং উৎপন্ন
4 ।% IQE (4 বাইট) একটি usecase, যেখানে পরিবর্তিত অপারেটর 2 পরামিতি প্রয়োজন পাওয়া
5., J.vz-zJ (8 বাইটস) .v মূল্যায়ণ শুধুমাত্র প্রথম একটি স্ট্রিং বিবৃতি এবং বাকি উপেক্ষা করে
6. ssMcz \, ( 7 বাইট) s "" = 0
7. u + GE0 (5 বাইট) যতক্ষণ না এটি
8 টি পরিচিত সংখ্যা পৌঁছায় ততক্ষণ হ্রাস করুন


ধুর, আমি ভুলে গেছি Uকরেনি lতালিকার!
lirtosiast

1
নিজের ভাষায় ইসাককে মারধর করার জন্য দুর্দান্ত।
স্টান স্ট্রাম

1

 60 59  57 বাইট

1. 9 বাইট :j.tmRdS9Z


2. 6 বাইট :jbUTjG


3. 8 বাইট :h.f_IZ1z


4. 4 বাইট :}sEU


5. 8 বাইট :,K.vz-zK


6. 7 বাইট :ssMcz\,


7. 8 বাইট :s<FxB.Q0


8. 11 10 7 বাইট : ss.DVQU পূর্ববর্তী সংস্করণ:ss.e+<bk>bh

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


দুর্দান্ত চেষ্টা। 3 য় সমস্যা 8 বাইট যদিও।
জাকুবে

এবং আমি বেশ নিশ্চিত, যে 8 সমস্যার সমাধান তখনকার সময়ে সংকলিত হয়নি। তবে আমি এটি পরীক্ষা করিনি।
জাকুবে

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