05AB1E , 50 49 बाइट्स
3mF9Ý.R}J¹ô¹ävy`¦'*ìN4%©>ir}®iRr}®<iR})ˆ}¯øvyðý}»
व्याख्या
इनपुट के लिए उदाहरण = 4।
पहले हम 0 और 9 के बीच इनपुट 3 स्ट्रिंग नंबर बनाते हैं।
3mF9Ý.R}J
उत्पादन
6799762549425893341317984133999075245812305412010122884262903656
फिर हम इनपुट के प्रत्येक आकार को टुकड़ों में विभाजित करते हैं।
इसे इनपुट टुकड़ों में विभाजित किया गया है।
¹ô¹ä
यह हमें संख्याओं का एक मैट्रिक्स देता है।
[['6799', '7625', '4942', '5893'],
['3413', '1798', '4133', '9990'],
['7524', '5812', '3054', '1201'],
['0122', '8842', '6290', '3656']]
हम तब मैट्रिक्स की पंक्तियों पर लूप करते हैं, सही स्थानों पर तारांकन सम्मिलित करते हैं।
v } # for each row in matrix
y` # flatten list to stack
¦'*ì # replace the first digit of the last number with "*"
N4%©>ir} # if row-nr % 4 == 0, move the number with "*" to the front
®iRr} # if row-nr % 4 == 1, move the number with "*" to the front
# and reverse the number, moving "*" to the numbers right side
®<iR} # if row-nr % 4 == 2, reverse the number, moving "*"
# to the numbers right side
)ˆ # wrap row in a list and add to global array
अब हमारे पास प्रत्येक पंक्ति पर "*" वाला मैट्रिक्स है, लेकिन हम प्रति कॉलम तारांकन चाहते हैं।
[['*893', '4942', '7625', '6799'],
['099*', '4133', '1798', '3413'],
['7524', '5812', '3054', '102*'],
['0122', '8842', '6290', '*656']]
तो हम इस सूची को कॉलम और इसके विपरीत पंक्तियों में बदल देते हैं।
[['*893', '099*', '7524', '0122'],
['4942', '4133', '5812', '8842'],
['7625', '1798', '3054', '6290'],
['6799', '3413', '102*', '*656']]
अब जो कुछ बचा है वह आउटपुट स्वरूपित करना है।
vyðý}»
रिक्त स्थान पर पंक्तियों में शामिल होने और नईलाइन पर कॉलम हमें अंतिम परिणाम देता है।
*893 099* 7524 0122
4942 4133 5812 8842
7625 1798 3054 6290
6799 3413 102* *656
इसे ऑनलाइन आज़माएं!
पुराने 50 बाइट का घोल
F¹Fõ¹F9Ý.R«}}¦'*ì})¹ävyN4%©>iR}®iíÁ}®<ií}})øvyðý}»