परिचय
यह लंबाई 5 का एक लॉग है:
#####
मैं एक दूसरे के ऊपर इन लॉग का एक गुच्छा ढेर करना चाहता हूं। मैं यह कैसे कर सकता हूं कि मैं दाईं ओर से सबसे ऊपर एक नए लॉग को स्लाइड करता हूं, और जब उनके बाएं या दाएं छोर संरेखित करते हैं (तब क्यों नहीं पूछते हैं) स्लाइड करना बंद करें। यदि नया लॉग लंबा है, तो यह सबसे ऊपरी लॉग के बाईं ओर के सभी मार्ग को स्लाइड करता है:
######## <-
#####
यदि यह छोटा है, तो यह केवल तब तक स्लाइड करता है जब तक कि उनका दाहिना छोर संरेखित न हो जाए:
###### <-
########
#####
जैसे ही मैं ढेर में अधिक लॉग स्लाइड करता हूं, उनकी स्थिति वर्तमान शीर्ष लॉग द्वारा निर्धारित की जाती है:
##
######
###
####
##
######
########
#####
यह शारीरिक रूप से असंभव दिखता है, लेकिन चलो यह काम करता है का नाटक करते हैं।
काम
आपका इनपुट सकारात्मक पूर्णांकों की एक गैर-रिक्त सूची होगी, जो मेरे लॉग की लंबाई का प्रतिनिधित्व करेगा। सबसे बाईं संख्या पहला लॉग है जिसे मैंने ढेर में रखा है, इसलिए यह नीचे से समाप्त होता है। उपरोक्त उदाहरण में, इनपुट होगा [5,8,6,2,4,3,6,2]। आपका आउटपुट परिणामी ढेर के प्रत्येक कॉलम के लिए होगा, उस कॉलम को पार करने वाले लॉग की संख्या। उपरोक्त उदाहरण में, सही आउटपुट होगा [2,2,3,3,3,2,4,6,3,3,1,2,2]।
नियम और स्कोरिंग
इनपुट और आउटपुट किसी भी उचित प्रारूप में हो सकते हैं। आउटपुट में केवल धनात्मक पूर्णांक हो सकते हैं, अर्थात इसमें अग्रणी या अनुगामी 0s नहीं होना चाहिए । सामान्य कोड-गोल्फ नियम लागू होते हैं: आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं, सबसे कम बाइट गिनती जीतता है, और मानक कमियां निषिद्ध हैं।
परीक्षण के मामलों
[1] -> [1]
[4] -> [1,1,1,1]
[3,2] -> [1,2,2]
[2,3] -> [2,2,1]
[2,2,2] -> [3,3]
[2,3,2] -> [2,3,2]
[3,2,3] -> [1,3,3,1]
[1,3,2,2,1,3,1] -> [2,3,5,1,2]
[4,3,4,2,4,3,4,2] -> [1,3,3,5,5,3,4,2]
[5,8,6,2,4,3,6,2] -> [2,2,3,3,3,2,4,6,3,3,1,2,2]
[5,10,15,1,1,1,1,1,2] -> [3,3,3,3,3,2,2,2,2,2,1,1,1,1,7,1]
[13,12,2,10,14,12] -> [1,2,2,2,2,2,2,2,2,2,2,5,5,3,3,3,3,3,3,3,3,2,2,2,2]
[12,14,3,6,13,1,1] -> [2,2,2,2,2,2,2,2,2,2,2,5,4,4,2,2,2,1,1,1,1,1,1,3]
[7,5,12,5,1,10,14,5] -> [1,1,3,3,3,3,3,1,1,2,2,2,2,5,2,2,2,2,2,2,2,2,3,2,2,2,2]
[14,5,1,3,12,6,2,2,1,7,9,15] -> [1,1,1,1,1,1,1,1,1,2,2,2,2,5,2,2,1,1,1,2,2,2,2,4,8,3,3,3,3,3,3,2,2,1,1,1,1,1,1]