প্রোগ্রামিং ধাঁধা থেকে কোড গল্ফ


74

আপনার কাজটি এমন একটি প্রোগ্রাম লিখতে হবে যা সঠিক স্ট্রিংকে Programming Puzzlesছাড়িয়ে যায় (নতুন লাইনের optionচ্ছিক অনুসরণ করে) তবে যখন সমস্ত স্পেস, ট্যাব এবং নিউলাইনগুলি এটিকে আউটপুটগুলি সরিয়ে দেয় Code Golf(নতুন লাইনের optionচ্ছিক অনুসরণ করে))

আপনার বাইট গণনাটি প্রথম প্রোগ্রামের গণনা, সেখানে খালি স্থান রয়েছে।

নোট

  • মধ্যে শূণ্যস্থান Code Golf এবং Programming Puzzles অপসারণ অংশ হিসেবে সরানো হবে, তাই সে অনুযায়ী পরিকল্পনা করছি।

  • এনকোডিংগুলিতে যেখানে 0x09, 0x0A এবং 0x20 যথাক্রমে ট্যাব, নিউলাইন বা স্পেস নয়, সেই অক্ষরগুলি সরানো হবে।

  • যদি আপনার কোড হয়

    42  $@ rw$
    @42
    

    তারপর যে আউটপুট অবশ্যই Programming Puzzles। এছাড়াও, একই ভাষায়,

    42$@rw$@42
    

    আউটপুট অবশ্যই Code Golf

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী! শুভকামনা!


3
স্থানটিও Code Golfসরিয়ে দেওয়া হবে, এর মধ্যে কী হবে Programming Puzzles
কল করুন

2
এটি কমপক্ষে ঘূর্ণিহোয়াইটস্পেসে অসম্ভব হয়ে উঠবে ।
ইঞ্জিনিয়ার টোস্ট

13
নিকটতম ভোট কী?
OldBunny2800

12
@ OldBunny2800 ভাল প্রশ্ন। আমি এটি জিজ্ঞাসা
প্রোগ্রামার

12
নিকটতম ভোটগুলি ইনপুট এবং আউটপুটগুলির অভাব এবং ইনপুট এবং আউটপুটগুলির বিন্যাসকরণের ক্ষেত্রে বিধিনিষেধের জন্য। আপনার যদি 0 টি কাছাকাছি ভোট চাইলে আপনার চ্যালেঞ্জটি সম্পর্কে সুস্পষ্ট মনে হয় এমন জিনিসগুলির বুলেট-নির্দেশিত তালিকার সাথে যদি আপনার "বিধি" লেবেলযুক্ত একটি বিভাগ থাকে তবে 100%। এটি সমস্তই কমপিএসসি লোকদের সাথে উপস্থাপনা সম্পর্কিত, যদি আমরা কোনও বৌদ্ধ প্রশ্ন জিজ্ঞাসা করতে পারি যা এটি আমাদের বাইট বাঁচাতে পারে তবে আমরা সেই বুদ্ধি প্রতিরোধের চেষ্টা করব এবং আপনি একজন দুর্দান্ত প্রশ্ন লেখক হবেন।
যাদু অক্টোপাস উরন

উত্তর:


65

পাইথন 2 , 50 বাইট

print["Code\40Golf","Programming Puzzles"][" ">""]

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

সমস্ত স্থান মুছে ফেলা সহ:

print["Code\40Golf","ProgrammingPuzzles"]["">""]

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

3 বাইটের জন্য স্টিফেন এস এবং 1 এরিক এরিক আউটগলফারকে ধন্যবাদ


2
ডার্ন, নিনজা! আমি পোস্ট পোস্টে ক্লিক করতে চলেছিলাম! +1
হাইপার নিউট্রিনো

1
আমি মনে করি আপনি কেবল আমার বন্ধুর মস্তিষ্ক ভেঙে দিয়েছেন। এটি কিভাবে কাজ করে?
স্টিভোসিয়াক

11
@ স্টেভেনভ্যাসেল্লারো এটি সত্যিই সহজ। প্রথম ক্ষেত্রে, " ">""ডিক্সিকোগ্রাফিকভাবে True, যেহেতু খালি স্ট্রিংয়ের চেয়ে কোনও স্থান বড়। দ্বিতীয় ক্ষেত্রে, "">""ফিরে আসে False, যেহেতু কিছুই নিজের থেকে বড় হতে পারে না। Trueএবং Falseপ্রকৃতপক্ষে কেবলমাত্র 1এবং 0যথাক্রমে, কেবলমাত্র বা boolপরিবর্তে ডেটাটাইপে । প্রথম ক্ষেত্রে, স্পেসগুলি সংরক্ষণ করা হয়, সুতরাং, সূচি 1 এ আইটেমটি ভারব্যাটিম ফিরে আসে। দ্বিতীয় ক্ষেত্রে, শূন্যস্থানগুলি চলে গেছে, সুতরাং একটি স্থান সংরক্ষণ করার জন্য সূচক 0-এ আইটেমটিতে । intlong"Programming Puzzles"\x20"Code\x20Golf"
এরিক আউটগল্ফার

9
@ স্টেফেনস নোপ, কারণ জাভাস্ক্রিপ্টের বিপরীতে পাইথনের অন্তর্নিহিত ingালাইয়ের অভ্যাস নেই।
মেগো

1
পাইথনের অভাবজনিত অভাবকে যদি খুঁজে পান।
জন ডিভোরাক

50

পাইথন 2 , 48 47 বাইট

-1 বাইট ধন্যবাদ আউটগলফার এরিককে ধন্যবাদ

print' 'and'Programming Puzzles'or'Code\40Golf'

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

print''and'ProgrammingPuzzles'or'Code\40Golf'

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


9
ও, আমি এই সম্পর্কে আমার উত্তরটি উন্নত করতে
চলেছিলাম

22

05 এ বি 1 ই , 15 বাইট

”ƒËŠˆ”" "v”–±ÇÀ

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

ব্যাখ্যা

”ƒËŠˆ”           # push "Code Golf"
      " "v       # for each character in the string " " do
          ”–±ÇÀ  # push "Programming Puzzles"
                 # implicitly output top of stack

... আমি এটা পেলাম না। এটি অভিধান সংক্ষেপণ বা কিছু ব্যবহার করে?
LegionMammal978

@ LegionMammal978 আমি নিশ্চিত এটি এটির ব্যাপারে নিশ্চিত।
NoOneIs এখানে

@ লিজিয়নম্যামাল978: এটি আসলে অভিধান সংকোচনের ব্যবহার করে।
এমিগানা

5
@ এমিগনা ঠিক আছে, কারণ সর্বশেষে আমি যাচাই করেছিলাম, এই স্ট্রিংগুলির
কোনওটিই

1
@ ড্রাকো 18: আপনি কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে আরও ভাল ধারণা পেতে আপনি যে টিপস পৃষ্ঠাগুলি ব্যবহার করতে পারেন তাতে কেভিন একটি দুর্দান্ত টিউটোরিয়াল লিখেছেন ।
এমিগানা


16

সিজেম , 38 বাইট

" ""Programming Puzzles""Dpef!Hpmg":(?

এটি অনলাইন চেষ্টা করুন! বা ফাঁকা স্থান অপসারণ সহ

ব্যাখ্যা

" "                    e# Push this string.
"Programming Puzzles"  e# Push "Programming Puzzles".
"Dpef!Hpmg":(          e# Push "Dpef!Hpmg" and decrement each char, giving "Code Golf".
?                      e# If the first string is true (non-empty) return the second string,
                       e#   else return the third.

প্রোগ্রামটিতে স্পেস রয়েছে কিনা তা নির্ধারণ করে না যে প্রথম স্ট্রিংটি সত্যবাদী বা মিথ্যা কিনা।


27
আপনার কোডটি দুঃখজনক:(
রোমান গ্রাফ

14
আপনি যদি ছাপ ছাড়াই ব্যবহার করতে ইচ্ছুক হন তবে তার "Bncd\x19Fnke":)পরিবর্তে খুশি কোড (প্রতিস্থাপন \x19)।
এরিক আউটগল্ফার

15

জেলি , 18 বাইট

“½ċṭ6Ỵ»ḷ
“Ñ1ɦ+£)G»

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

ব্যাখ্যা

প্রোগ্রামটিতে লিখিত হিসাবে, প্রথম লাইনটি একটি সহায়ক ফাংশন যা কখনও চালিত হয় না। দ্বিতীয় লাইনটি (প্রোগ্রামের শেষ )টি মূল প্রোগ্রাম এবং এটি স্ট্রিংয়ের সংকীর্ণ প্রতিনিধিত্ব "Programming Puzzles"(যা পরে স্পষ্টভাবে মুদ্রিত হয়)।

আপনি যদি নতুন লাইনটি সরিয়ে থাকেন তবে পুরো জিনিসটি একটি বড় প্রোগ্রামে পরিণত হয়। “½ċṭ6Ỵ»স্ট্রিংয়ের সংকীর্ণ প্রতিনিধিত্ব "Code Golf"মূল্যায়িত হয় কিন্তু তার ডান হাত যুক্তি উপেক্ষা করে, চালানোর আগে একই মান রেখে; এটি তাদের পার্শ্ব প্রতিক্রিয়াগুলির জন্য ফাংশনগুলি মূল্যায়নের জন্য ব্যবহার করা যেতে পারে (আমি এর আগে কিছু করেছি) তবে কোডটি কার্যকরভাবে মন্তব্য করার জন্য এটি এখানে ব্যবহার করা যেতে পারে।

মজার বিষয় হচ্ছে, এখানে আসল যুক্তি 05AB1E এন্ট্রির চেয়ে সংক্ষিপ্ত, তবে সামগ্রিকভাবে কোডটি দীর্ঘ সময়ের বাইরে চলে আসে কারণ স্ট্রিং কমপ্রেসর এই নির্দিষ্ট স্ট্রিংগুলি সংকোচনে কম ভাল।


এটি বৈধ হতে প্রমাণিত।
এরিক আউটগলফার

আমার জানা মতে, পরিচিত বুদ্ধিমান এনকোডিংগুলি ধরে রেখে, এমন কয়েকটি অক্ষর একটি বাইট ব্যবহার করে সংরক্ষণ করা যায়। ইউটিএফ -8 এ আমি 36 বাইট পাই ... আমি কি ভুল করছি?
স্টেফেন

@ স্টেফেন: জেলি তার নিজস্ব অক্ষর এনকোডিং ব্যবহার করে , এতে এটি ব্যবহার করে এমন 256 টি বিভিন্ন অক্ষর সমস্ত একক বাইটে সংরক্ষণ করা যেতে পারে। (প্রাক-বিদ্যমান এনকোডিংটি ব্যবহারের পরিবর্তে এটি করার একমাত্র কারণ হ'ল পাঠযোগ্যতা (!)); আপনি কোডটিকে এনকোডড অবস্থায় বলতে পারেন, কোডপেজ 437 লিখতে পারেন এবং এটি জেলি ইন্টারপ্রেটারে চলতে পারে, তবে এটি সাধারণত হবে পড়তে অনেক বেশি শক্ত))

13

জেলি , 17 বাইট

“Ñ1ɦ+£)G“½ċṭ6 Ỵ»Ṃ

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

কিভাবে এটা কাজ করে

অন্যান্য জেলি উত্তর হিসাবে, Ñ1ɦ+£)Gএবং ½ċṭ6Ỵস্ট্রিং প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ এনকোড । একটি স্ট্রিং আক্ষরিক শুরু হয় এবং একটি স্ট্রিংকে অন্য স্ট্রিমকে আলাদা করে, যখন »আক্ষরিক (অভিধান-ভিত্তিক সংক্ষেপণ) ধরণের নির্বাচন করে, সুতরাং এই ফলন দেয়

["Programming Puzzles", "Code Golf"]

তারপরে ন্যূনতম, ফলনশীল কোড গল্ফ লাগে ।

যাইহোক, ½ċṭ6এবং এর মধ্যে একটি স্পেস যুক্ত করে আমরা একটি সম্পূর্ণ আলাদা দ্বিতীয় স্ট্রিং পাই এবং আক্ষরিক মূল্যায়ন করে

["Programming Puzzles", "caird coinheringaahing"]

যেহেতু কেয়ারড কইনারিঙ্গিংহিং প্রোগ্রামিং পাজলগুলির চেয়ে অভিধানিকভাবে বড় , তার পরিবর্তে প্রথম স্ট্রিংটি নির্বাচন করে।


ঠিক একই কাজটি করেছেন“½ċṭ6Ỵ“Ñ1ɦ +£)G»Ṁ
জোনাথন অ্যালান

আমার জানা মতে, সেই পরিচিতিগুলির কোনও একটিই বাইট ব্যবহার করে সংরক্ষণ করা যায় না, সুপরিচিত এনকোডিংগুলি ধরে নিয়ে। ইউটিএফ -8 এ আমি 34 বাইট পেয়েছি ... আমি কি ভুল করছি?
স্টেফেন

@ স্টেফেন জেলি একটি কাস্টম কোড পৃষ্ঠা ব্যবহার করে যা 256 টি অক্ষরকে একে একক বাইট হিসাবে বোঝে প্রতিটি এনকোড করে।
ডেনিস

@ ডেনিস স্পষ্ট করার জন্য আপনাকে ধন্যবাদ।
স্টিফেন

13

জাভাস্ক্রিপ্ট, 46 43 42 বাইট

x=>" "?"Programming Puzzles":"Code\40Golf"

console.log((x=>" "?"Programming Puzzles":"Code\40Golf")())
console.log((x=>""?"ProgrammingPuzzles":"Code\40Golf")())


5
আপনি \x20প্রথম স্ট্রিংয়ের সাথে একটি স্থান দিয়ে প্রতিস্থাপন করতে পারেন ।
শেগি

আমাকে এটি মার, সুন্দরভাবে। এটি কি পিছনের দরকার ;?
রিদ্দেসি

@ricdesi না, এটা না।

3
@ricdesi যেহেতু এটি কোডগল্ফ, যদি প্রোগ্রামটি চালিত হয় তবে এটি কার্যকর হয়। ;কখনও কখনও জাভাস্ক্রিপ্টে প্রয়োজন হয় না।
স্টিফেন

2
আপনি প্রতিস্থাপন করতে পারেন \x20সঙ্গে \40একটি বাইট :-) সংরক্ষণ করতে
ETHproductions

10

ওল্ফ্রামের ভাষা, 62 বাইট

"Programming Puzzles"[ToExpression@"\"Code\\.20Golf\""][[0 1]]

স্পেসটি [[0 1]]অন্তর্নিহিত গুণ, তাই এটি সমান [[0]]। একটি স্থান ছাড়া, 01শুধু 1। এই এক্সপ্রেশনটির 0 তম এবং 1 ম অংশগুলি আমরা চাই স্ট্রিংগুলি।

প্রশ্নবিদ্ধ বৈধতার আরেকটি সমাধান (44 বাইট, 2 কেলি লোডার দ্বারা সংরক্ষিত):

"Programming Puzzles"["Code\.20Golf"][[0 1]]

\.20একটি স্থান দ্বারা প্রতিস্থাপিত পরার অবিলম্বে একটি ম্যাথামেটিকাল পরিবেশের মধ্যে টাইপ করা, তাই এটি স্পষ্ট করে এটি অন্যান্য স্পেস সহ সরানো না ...


1
আপনি এটিকে ম্যাথমেটিকাতে (বা টাইপ করুন) পালানোর ক্রম হিসাবে (ক্লাউড ভিত্তিক বা না) অব্যাহতি ক্রমটি \:0020একটি স্পেসে পরিণত হয় এবং এইভাবে সরিয়ে ফেলা হবে, সুতরাং আমি নিশ্চিত নই যে এই যোগ্যতা অর্জন করেছে। এছাড়াও \.20দুটি অক্ষর shorter.by হয়। "Programming Puzzles"["Code"<>FromCharacterCode@32<>"Golf"][[01]]কাজ করবে.
কেলি লোডার

1
@ কেলিলাউডার, হুম, এটি একটি ভাল বিষয়। আমি আরও একটি সমাধান যুক্ত করেছি যাতে এই সমস্যাটি এড়ানো উচিত। (এই \.20পরামর্শের জন্য ধন্যবাদ - আপনি এটি কীভাবে খুঁজে পেয়েছেন? আমি ভেবেছিলাম আমি পুরো ডকুমেন্টেশনটি স্ক্রোল করেছি ...)
গাছ নেই

1
আমি \.20টাইপ করে খুঁজে পেয়েছি । কেবল দুই-অঙ্কের অক্ষর কোডের জন্য কাজ করার জন্য মনে হচ্ছে। আমি মনে করি না এটি নথিতে রয়েছে।
কেলি লোডার

8

এক্সেল - 56 বাইট

=IF(""=" ","Code"&CHAR(32)&"Golf","Programming Puzzles")

অন্যান্য উত্তরগুলির সাথে খুব মিল ... এখানে অভিনব কিছুই নয়।


8

হাস্কেল, 48 বাইট

a _="Programming Puzzles";a4="Code\32Golf";f=a 4
a_="ProgrammingPuzzles";a4="Code\32Golf";f=a4

ফাংশন সংজ্ঞায়িত করে fযা সংশ্লিষ্ট স্ট্রিংটি দেয়।

রেফারেন্সের জন্য, পুরানো সংস্করণটি হ'ল:

হাস্কেল, 49/47 বাইট

f""="Code\32Golf";f(_)="Programming Puzzles";f" "

ফাঁকা স্থান অপসারণ সহ

f""="Code\32Golf";f(_)="ProgrammingPuzzles";f""

দুটি সাধারণ প্যাটার্ন ম্যাচ। (_)সমস্ত নিদর্শন মেলে। দ্বিতীয় প্যাটার্নটিকে f" "=/ হিসাবে সংজ্ঞায়িত করে আপনি একটি বাইট দ্বারা ফাঁকা স্থান ছাড়াই সংস্করণটি উন্নত করতে পারেন তবে এটি f""="প্যাটার্ন ম্যাচটি রিডানড্যান্ট" সতর্কতা দেয়।

একই বাইট গণনা সহ বিকল্প সমাধান:

last$"Code\32Golf":["Programming Puzzles"|" ">""]
last$"Code\32Golf":["ProgrammingPuzzles"|"">""]

7

ওহম , 33 32 বাইট

সিপি 437 এনকোডিং ব্যবহার করে।

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀
▀4>~H├MS░l╬δ

এটি অনলাইন চেষ্টা করুন! বা সাদা স্থান ছাড়াই চেষ্টা করুন

ব্যাখ্যা

সাদা স্থান সহ:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Push "Programming Puzzles" (compressed string)
                       Implicitly output the top stack element


▀4>~H├MS░l╬δ           Helper wire (never called)

সাদা স্থান ব্যতীত:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀▀4>~H├MS░l╬δ    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀                Push "Programming Puzzles" (compressed string)
                   ▀4>~H├MS░l╬δ    Push "Code Golf" (compressed string)
                                   Implicitly output top stack element

আমি খুব খুশি আমি শেষ পর্যন্ত স্ট্রিং সংক্ষেপণ শেষ!
নিক ক্লিফোর্ড 20

1
অদ্ভুত জিনিস আমি লক্ষ্য করেছি যে ছিল @NickClifford Code Golfআর পায় যখন সংকুচিত। আমার মনে হয় এর কারণ রাজধানী? এটি যে কোনওভাবেই এটি সাধারণত লেখার চেয়ে কম, কারণ আমি এখানে আক্ষরিক স্থান ব্যবহার করতে পারি না।
বিড়াল বিড়াল

হ্যাঁ, স্মাজ এক ধরণের অদ্ভুত is
নিক ক্লিফোর্ড

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

7

জাপট , 29 বাইট

স্পেস সহ:

`Co¸{S}Golf`r `PžgŸmÚÁ Puzz¤s

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

স্থান ছাড়াই:

`Co¸{S}Golf`r`PžgŸmÚÁPuzz¤s

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


এটি জ্যাপ্টে কোনও স্থান একটি মেথড কল বন্ধ করে দেয় এই সুবিধাটি গ্রহণ করে। স্পেস সহ, কোডটি এই জাভাস্ক্রিপ্ট কোডের সাথে মোটামুটি সমান:

("Code"+(S)+"Golf").r(),"Programming Puzzles"

এটি জাভাস্ক্রিপ্ট হিসাবে মূল্যায়ন করা হয়, এবং ফলাফলটি STDOUT এ প্রেরণ করা হয়। যেহেতু সর্বশেষ প্রকাশটি "Programming Puzzles", তাই স্ট্রিংটি মুদ্রিত হয়।

স্পেস ছাড়াই কোডটি মোটামুটি সমান:

("Code"+(S)+"Golf").r("ProgrammingPuzzles")

(আপনি যদি এখনই এটি সন্ধান না করেছেন তবে Sভেরিয়েবলটি একটি একক স্থান)) .r()স্ট্রিংয়ের পদ্ধতিটি যদি একটি যুক্তি দেওয়া হয় তবে স্ট্রিং থেকে সেই যুক্তির সমস্ত দৃষ্টান্ত সরিয়ে দেয়। যেহেতু এটি "Code Golf"ধারণ করে না "ProgrammingPuzzles", এটি "Code Golf"অপরিবর্তিত ফেরত দেয় যা পরে STDOUT এ প্রেরণ করা হয়।


এমনকি আমি প্রতিস্থাপন ব্যবহার করার কথা ভাবিনি। সুন্দর!
টম

আমার জানা মতে, পরিচিত বুদ্ধিমান এনকোডিংগুলি ধরে রেখে, এমন কয়েকটি অক্ষর একটি বাইট ব্যবহার করে সংরক্ষণ করা যায়। ইউটিএফ -8 এ আমি 36 বাইট পাই ... আমি কি ভুল করছি?
স্টেফেন

@ স্টেফেন জ্যাপ্ট আইএসও -8859-1 এনকোডিং ব্যবহার করে, যাতে প্রতিটি চর একটি করে বাইট উপস্থাপন করে। তবে কিছু কিছু অক্ষর এই প্রোগ্রামে অচিহ্নিতযোগ্য হবে, তাই আমি এখানে উইন্ডোজ
-১২২২

6

ব্র্যাচল্যাগ , 44 বাইট

" "Ṣ∧"Programming Puzzles"w|"Code"wṢw"Golf"w

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

ব্যাখ্যা

" "Ṣ                                           If " " = Ṣ (which is itself " ")
    ∧"Programming Puzzles"w                    Write "Programming Puzzles"
                           |                   Else
                            "Code"w            Write "Code"
                                   Ṣw          Write " "
                                     "Golf"w   Write "Golf"

1
ক্রসড আউট 44 এখনও 44 :( &nbsp;ঠিক করতে উভয় পক্ষের মধ্যে সম্পাদনা করুন :)
হাইপারনিউটারিনো

@ হাইপারনিট্রিনো এটি অতিক্রম করা হয়নি, 44 স্পেস সহ দৈর্ঘ্য এবং 42 ছাড়াই।
ফ্যাটালাইজ করুন

উহু. উপস। ঠিক আছে, এটি খুব অনুরূপ তাই আমি সম্পাদনায় গিয়ে মার্কডাউনটি না দেখে বলতে পারি না। কিছু মনে করবেন না: পি
হাইপার নিউট্রিনো

5

অ্যালিস , 44 বাইট

/"floG!"t"edoC"#
 /"selzzuP gnimmargorP"d&o@

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

সাদা স্থান ব্যতীত:

/"floG!"t"edoC"#/"selzzuPgnimmargorP"d&o@

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

ব্যাখ্যা

প্রথম প্রোগ্রামে দুটি আয়না /নির্দেশ পয়েন্টারটিকে দ্বিতীয় লাইনে পুনর্নির্দেশ করে। "selzzuP gnimmargorP"সম্মিলিত ক্রমে প্রয়োজনীয় কোড পয়েন্টগুলি dধাক্কা দেয়, স্ট্যাকের গভীরতার দিকে ধাক্কা দেয় এবং &oঅনেকগুলি বাইট প্রিন্ট করে। @প্রোগ্রামটি সমাপ্ত করে।

শ্বেতস্থান ব্যতীত, প্রোগ্রামটি সমস্ত একক লাইনে রয়েছে। সেক্ষেত্রে নির্দেশ পয়েন্টারটি অর্ডিনাল মোডে চলতে পারে না, সুতরাং /কার্যকরভাবে কোনও অপস হয়ে যায় (প্রযুক্তিগতভাবে, আইপি কেবল এক ধাপের জন্য সরবে না /, একইটি আবার কার্যকর হবে এবং আইপি কার্ডিনাল মোডে ফিরে আসে) )। সুতরাং যদি আমরা সেগুলি প্রোগ্রাম থেকে বাদ দিই তবে এটির মতো দেখাচ্ছে:

"floG!"t"edoC"#"selzzuPgnimmargorP"d&o@

স্থানটি অন্তর্ভুক্ত করার জন্য Code Golf, আমরা পরিবর্তে একটি বিস্মৃত চিহ্ন ব্যবহার করি এবং এটির সাথে এটি হ্রাস করি t। আমরা স্ট্যাকের সমস্ত কোড পয়েন্ট পাওয়ার পরে, #পরবর্তী কমান্ডটি এড়িয়ে যায় যা পুরো দ্বিতীয় স্ট্রিং। d&oতারপরে আবার স্ট্যাকটি মুদ্রণ করে এবং @প্রোগ্রামটি সমাপ্ত করে।


আপনার অবশ্যই এটি গল্ফ করতে হবে (44
ছাড়িয়ে গেছে

5

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

টেরিনারি অপারেটর

<?=" "?"Programming Puzzles":"Code\x20Golf";

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

মন্তব্য

<?=/** /"Code\x20Golf"/*/"Programming Puzzles"/**/;

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

অ্যারে সুইচ

<?=["Code\x20Golf","Programming Puzzles"][(ord("
")/10)];

5

কমন লিস্প (এসবিসিএল), 52 বাইট

(format`,t"~[Programming Puzzles~;Code~@TGolf~]"0 1)

ছাপে Programming Puzzles

(format`,t"~[ProgrammingPuzzles~;Code~@TGolf~]"01)

ছাপে Code Golf

Ungolfed:

(format t "~[Programming Puzzles~;Code Golf~]" 0 1)

Explaination:

কৌশলটি মূলত আসে #'formatকমন লিস্পে কীভাবে কাজ করে comes

সিএলে, বেশিরভাগ শ্বেত স্পেস বাদ দেওয়া যেতে পারে যদি টোকেনগুলি কোথায় শুরু হয় বা শেষ হয় সে সম্পর্কে কোনও অস্পষ্টতা নেই। প্রথম কৌশলটি ছিল চিহ্ন formatএবং tচিহ্নগুলি পৃথক করে । formatকীভাবে tব্যাখ্যা করা হয়েছে তা পরিবর্তন না করেই আমাকে প্রতীকটি শেষ করতে হয়েছিল। ভাগ্যক্রমে, CL সিএল প্রসেস হওয়ার আগে পূর্বের টোকেনটি শেষ করে এবং ,টেম্প্লেটিং প্রয়োগের জন্য `(`) এর প্রভাব বাতিল করে, যেখানে এর পরের এক্সপ্রেশনটি "উদ্ধৃত" হয়ে যায়, তবে কোনও উপ-এক্সপ্রেশনটি পূর্বনির্ধারিত ,এবং মূল্যায়ন করা হয় এবং টেমপ্লেটে অন্তর্ভুক্ত ফলাফল, সুতরাং nearly, প্রায় কোনও অপ-বিকল্প)।

তৃতীয় যুক্তি formatহ'ল টেমপ্লেট স্ট্রিং। formatসি-তে প্রিন্টফের মতো, তবে এর চেয়ে অনেক বেশি শক্তিশালী বিন্যাসের নির্দেশ রয়েছে এবং% এর পরিবর্তে সেগুলি নির্দেশ করতে indicate ব্যবহার করুন। ~ [এবং ~] আপনাকে মুদ্রণের জন্য একাধিক বিকল্পের মধ্যে between সহ নির্বাচন করতে দেয়; তাদের পৃথক করা। একটি অতিরিক্ত যুক্তি বিন্যাসে সরবরাহ করা হয় - আপনি যেটি মুদ্রণ করতে চান তার সংখ্যার সূচক। কোড গল্ফের "" বেঁচে আছে কিনা তা নিশ্চিত করার জন্য, আমি ট্যাবুলেশন নির্দেশিকা used টি ব্যবহার করেছি, যা সাধারণত সাদা অংশে সন্নিবেশ করানোর জন্য ব্যবহৃত হয়, সাধারণত কলামগুলিতে পাঠ্য প্রান্তিককরণ করতে। T @ টি হ'ল একটি প্রকরণ যা কেবলমাত্র একটি প্রদত্ত সংখ্যক স্পেস সন্নিবেশ করে, ডিফল্ট করে 1 এ।

পরিশেষে, 0 এবং 1 ফর্ম্যাট করার জন্য দুটি আর্গুমেন্ট রয়েছে: শ্বেত স্পেস অপসারণ করার আগে, 0 "প্রোগ্রামিং ধাঁধা" নির্বাচন করতে ~ [~; ~] দ্বারা ব্যবহৃত হয় এবং অতিরিক্ত বিন্যাসের আর্গুমেন্ট (1) বাদ দেওয়া হয় (আমি অতিরিক্ত বিন্যাসের আর্গুমেন্টগুলি কীভাবে স্ট্যান্ডিং ছাড়বে তা নিশ্চিত নয় তবে এটি স্টিল ব্যাংক কমন লিস্পে কাজ করে)। সাদা স্থান সরানোর পরে, কেবলমাত্র একটি যুক্তি (01) রয়েছে যা পরিবর্তে "কোড গল্ফ" নির্বাচন করে।


1
+1, কেবল একটি জিনিস: "তবে এর সাথে উপসর্গযুক্ত কোনও উপ-এক্সপ্রেশনটি ,মূল্যায়ন করা হয় এবং এতে বিভক্ত করা হয়" স্প্লাইকিংয়ের ,@জন্য প্রয়োজনীয় নয় ?
প্রজেমিসাওপি

"স্প্লাইকড" এটির জন্য একটি স্বল্প শব্দ, স্বীকারোক্তিযুক্ত। প্রযুক্তিগতভাবে, ,পরবর্তী অভিব্যক্তিটি প্রকাশ করে এবং এতে টেমপ্লেটের ফলাফল অন্তর্ভুক্ত থাকে, তবে ,@অনুমান করা হয় যে অভিব্যক্তিটি কোনও তালিকাতে প্রদর্শিত হবে এবং সেই তালিকাটির বিষয়বস্তু সরাসরি টেম্পলেটে অন্তর্ভুক্ত করে। Lisতিহ্যগতভাবে লিস্প সম্প্রদায়টিতে, ,@"স্প্লাইকিং" বলা হয়, তবে আমি নিশ্চিত নই যে এটি সবচেয়ে সুস্পষ্ট পছন্দ। আমি এটিকে কিছুটা উচ্চারণ করার চেষ্টা করব।
djeis


4

সি # 88 81 70 63 বাইট

Func<string>@a=()=>" "==""?"Code\x20Golf":"Programming Puzzles";

সাদা স্থান ছিনিয়ে নিয়ে:

Func<string>@a=()=>""==""?"Code\x20Golf":"ProgrammingPuzzles";

পদ্ধতি রিটার্নের ধরণ এবং পদ্ধতির নামের মধ্যে কীভাবে স্থান নেই, তা দেখানোর জন্য ব্রায়ানজকে ধন্যবাদ, 7 18 বাইট সংরক্ষণের জন্য পিটারটেলর এবং 7 বাইট সংরক্ষণের জন্য প্যাট্রিক হুইজিংসা।

একই পদ্ধতি অন্য সত্যিই সবাই, টেকনিক্যালি এই অবৈধ বিবেচিত করা যেতে পারে কারণ পদ্ধতি পদ্ধতি একটি রিটার্ন টাইপ নির্দিষ্ট করে না, কিন্তু সেখানে রয়েছে রিটার্ন টাইপ এবং পদ্ধতি নাম মধ্যে হোয়াইটস্পেস যাবে।


1
আপনি কোনওটির সাথে ফাংশনটির নামটি উপস্থাপন করতে পারেন @, তাই আপনার তখন void@a..."নো রিটার্ন টাইপ" সংকলন ত্রুটিটি এড়িয়ে চলুন (বাইটগুলি যোগ করুন, যদিও :()
ব্রায়ান জে

.Length<1একটি বাইট সংরক্ষণ করে; \u0020আমি সঠিকভাবে গণনা করা হলে ছয়টি বাঁচায়; এবং আপনি শীর্ষ স্তরের ফাংশনের পরিবর্তে লাম্বদা জমা দিয়ে একটি বৈধ উত্তর (এবং একই সাথে কয়েকটি বাইট সংরক্ষণ করতে পারেন) করতে পারেন। Func<string>a=()=>...
পিটার টেলর

@ ব্রায়ানজে হুম, এটি জানেন না, কেন এটি একটি সংকলক ভিউ-পয়েন্ট থেকে কাজ করে? যাইহোক, এটি বাইটগুলি হারাতে পারে তবে প্রযুক্তিগতভাবে এই উত্তরটি প্রতিদ্বন্দ্বী না করে তোলে, সুতরাং এটি মূল্যবান। ধন্যবাদ!
স্কিডসদেব

@ মাইউবটি @প্রাথমিকভাবে ব্যবহৃত হয় যদি আপনার ভেরিয়েবল নাম হিসাবে কোনও সংরক্ষিত শব্দ ব্যবহার করার প্রয়োজন হয় (সমতুল্য []VB.NET (এবং এমএস এসকিউএল সার্ভার) এর সাথে জড়িত )।
ব্রায়ান জে

1
হ্যাঁ, এটির স্ট্রিং ফিরিয়ে নেওয়া দরকার; তবে আপনি যদি এর =>পরিবর্তে ব্যবহার করেন তবে returnকোনও জায়গার দরকার নেই। (এবং আপনি যদি ব্যবহার করেন তবে আপনিও returnপারেন return(...))।
পিটার টেলর

4

জাভা 8, 74 50 48 বাইট

()=>" "==""?"Code\040Golf":"Programming Puzzles"

@NonlinearFruit আপনি ঠিক, আমি পরিবর্তন করেছি যে এক হতে অ উপযুক্ত
Khaled.K

1
আমি মনে করি না যে মুদ্রণ একটি প্রয়োজনীয়তা, তাই আপনি কেবল স্ট্রিং ফিরে আসতে পারে। আমি এটি পরীক্ষা করেছি না তবে ==অপারেটরটিও কাজ করা উচিত()=>""==""?"Code\u00A0Golf":"Programming Puzzles"
ননলাইনারফ্রুট

1
\u00A0-> \040একটি 2 বাইট সঞ্চয় জন্য।
পোকে





3

ডিসি , 50

[pq]sm[Programming Puzzles]dZ19=m[Code]n32P[Golf]p

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

[ ]একটি স্ট্রিং সংজ্ঞায়িত করে - Zএর দৈর্ঘ্য পরিমাপ করে। দৈর্ঘ্য যদি 19 হয় তবে এটিতে একটি স্থান থাকে এবং এম রেজিস্টারে সঞ্চিত ম্যাক্রো বলা হয়, যা প্রিন্ট করে Programming Puzzlesএবং প্রস্থান করে। অন্যথায় Code Golfমুদ্রিত হয়।


আপনি ডিসি ইন্টারপ্রেটার / ডকস / গিথুব লিঙ্ক করতে পারেন?
programmer5000

@ programmer5000 টিআইওতে কেবল ডিসি বেছে নিন, তারপরে ভাষার নামটি ক্লিক করুন।
ডেনিস

@ ডেনিস ধন্যবাদ, আমি জানতাম না যে টিআইও এটি করে!
programmer5000

3

> <> , 47 বাইট

! v"floG!"1-"edoC"!
o<>"selzzuP gnimmargorP">

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

-2 এর জন্য র্যান্ডম্রা ধন্যবাদ (চতুর দুইটি !যাতে আমি কেবল একটিই ব্যবহার করতে পারি >o<))

কোডটি চিৎকার করে তোলে "ব্লগ! ফ্লগ! ফ্লগ!" এবং একটি মাছ অনুরূপ।


3

টি-এসকিউএল, 96 82 81 67 বাইট

print+iif(len(' x')=2,'Programming Puzzles','Code'+char(32)+'Golf')

অনলাইনে চেষ্টা করে দেখুন | ফাঁকা জায়গা ছাড়া

পুরানো সংস্করণ (96 বাইট):

select(case'x'when(replace(' ',' ','x'))then'Programming Puzzles'else'Code'+nchar(32)+'Golf'end)

খুব ভাল কাজ, আপনি বাহ্যিক iif(len(' x')=2
পেরেনগুলি

@ ব্র্যাডিসি ক্লোজ, তবে বাইরের পেরেনের পরে কোনও জায়গার প্রয়োজন রোধ করে print। আমি এর +পরিবর্তে একটি ব্যবহার করেছি এবং এটি কাজ করেছে।
mbomb007

অবশ্যই ভুল আটকানো এবং গণনা করা উচিত। এবং আমিও জানতাম না, তবে প্লাসটিই আমি চেষ্টা করেছি প্রথম চরিত্রটি এবং এটি কাজ করেছিল।
mbomb007

3

পার্ল 5 , 43 41 বাইট

say" "?"Programming Puzzles":Code.$".Golf

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

' 'পার্ল সত্য এবং ''মিথ্যা যে সত্য ব্যবহার করে । $"পরিবর্তনশীল ডিফল্টরূপে একটি স্থান সেট করা হয়।

দুটি বাইট অপসারণ করার জন্য @ নাহুয়েলফুয়েলুলকে ধন্যবাদ


হতে পারে দেরীতে তবে "Code$\"Golf"খাটো এবং Code.$".Golfখুব
নাহুয়েল ফিউইলুল

@ নাহুয়েলফৌইলুল হ্যাঁ, আমি এই উত্তরটি লিখলে আমি বেশ নতুন ছিলাম। ধন্যবাদ যদিও!
ক্রিস


2

বেফুঞ্জ , 76 বাইট

" "0`#v_"floG"84*"edoC",,,,,,,,,@
,,,,,@>"selzzuP gnimmargorP",,,,,,,,,,,,,,

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

সর্বাধিক কমপ্যাক্ট সমাধান নয়, তবে আবার হোয়াইটস্পেস ছাড়াই বেফঞ্জ কোড লেখা বেশ কঠিন is

একেবারে শুরুতে, এটি 0 এর সাথে একটি স্থানের অক্ষরের তুলনা করে যদি এটি আরও বেশি হয় তবে এটি নীচের সারিতে যায়। যদি এটি না হয়, যা আপনি যখন কিছুই দিয়ে স্থান প্রতিস্থাপন করেন তখন কি হয়, এটি প্রথম সারিতে থাকে।


আমাদের কি করতে ,গুলি করে?
programmer5000

@ programmer5000 প্রতিটি একটি করে অক্ষর মুদ্রণ করে।
মার্টিন এন্ডার 21

আপনি 0 তে পৌঁছা না হওয়া পর্যন্ত প্রচুর পরিমাণে অক্ষর ছাপার জন্য একটি টিপস >:#,_যা আপনাকে প্রচুর বাইট সংরক্ষণ করতে পারে
মাইল্ডলি মিল্কোয়েস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.