यह चुनौती डेलीप्रोग्रामर सब्रेडिट पर पोस्ट की गई थी, और मुझे लगा कि यह एक कोड गोल्फ चुनौती के लिए एक महान उम्मीदवार होगा। यह निर्धारित करना कि क्या कोई अक्षर संतुलन के बिंदु से दूरी और पत्र के मूल्य पर आधारित है। एक अक्षर का मूल्य वर्णमाला में इसकी एक-अनुक्रमित स्थिति को लेने से या इसके ASCII मूल्य से 64 को घटाकर निर्धारित किया जा सकता है। इसके अलावा, एक पत्र का मूल्य संतुलन बिंदु से इसकी दूरी से गुणा किया जाता है। आइए एक उदाहरण देखें STEAD:
STEAD -> 19, 20, 5, 1, 4 ASCII values
This balances at T, and I'll show you why!
S T EAD -> 1*19 = 1*5 + 2*1 + 3*4
Each set of letters on either side sums to the same value, so
T is the anchor.
हालांकि, यह ध्यान दिया जाना चाहिए कि सभी शब्द संतुलन नहीं रखते हैं। उदाहरण के लिए, शब्द WRONGकिसी भी विन्यास में संतुलन नहीं रखता है। इसके अलावा, शब्दों को एक अक्षर पर संतुलित होना चाहिए, दो अक्षरों के बीच नहीं। उदाहरण के लिए, SAASयदि दो Aएस के बीच में एक पत्र था , तो संतुलन होगा , लेकिन चूंकि ऐसा नहीं है, इसलिए यह संतुलन नहीं है।
काम
आपको एक प्रोग्राम या फ़ंक्शन बनाना चाहिए जो एक बड़े शब्द में इनपुट या फ़ंक्शन तर्क के रूप में लेता है , और फिर दो आउटपुट में से एक का उत्पादन करता है:
यदि शब्द संतुलित होता है, तो शब्द को बाईं ओर, एक स्पेस, एंकर लेटर, दूसरे स्पेस और राइट साइड से प्रिंट किया जाना चाहिए।
function (STEAD) -> S T EADयदि शब्द संतुलन नहीं रखता है, तो आपको शब्द को प्रिंट करना चाहिए, उसके बाद
DOES NOT BALANCEfunction (WRONG) -> WRONG DOES NOT BALANCE
आप मान सकते हैं कि सभी इनपुट अपरकेस होंगे और केवल अल्फा वर्ण होंगे।
उदाहरण I / O
function (CONSUBSTANTIATION) -> CONSUBST A NTIATION
function (WRONGHEADED) -> WRO N GHEADED
function (UNINTELLIGIBILITY) -> UNINTELL I GIBILITY
function (SUPERGLUE) -> SUPERGLUE DOES NOT BALANCE
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम जवाब जीतता है।
BALANCE DOES NOT BALANCE
function (A)> -Aके बजाय -> `` एक?