মান लीजिए हमारे पास शब्दों की एक सूची है, हमें इसे एक आयताकार क्षेत्र में, पंक्ति दर पंक्ति फ्रेम करना है। बेहतर समझ के लिए उदाहरण देखें।
यदि इनपुट ['hello','world', 'python', 'programming','nice'] जैसा है, तो आउटपुट होगा:
*************** * hello * * world * * python * * programming * * nice * ***************
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- l := सरणी में अधिकतम आकार वाले शब्द की लंबाई
- st := तारा (l+4) बार रखें
- सरणी में प्रत्येक शब्द i के लिए, करें:
- st := st + '*' + i + (l - len(i) + 1) आकार के रिक्त स्थान + '*'
- st := तारा (l+4) बार के साथ st को जोड़ें
- st लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution:
def solve(self, words):
l = max(len(x) for x in words)
st = '*' * (l + 4) + '\n'
for i in words:
st += '* ' + i + ' ' * (l - len(i) + 1) + '*' + '\n'
return st + '*' * (l + 4)
ob = Solution()
words = ['hello','world', 'python', 'programming','nice']
print(ob.solve(words))
इनपुट
['hello','world', 'python', 'programming','nice']
आउटपुट
*************** * hello * * world * * python * * programming * * nice * ***************