मान लीजिए हमारे पास n नामक एक संख्या है, हमें वह अधिकतम संख्या ढूंढनी है जिसे हम संख्या में कहीं भी 5 डालकर प्राप्त कर सकते हैं।
तो, यदि इनपुट n = 834 है, तो आउटपुट 8534 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
यदि n > 0, तो
s := n को स्ट्रिंग के रूप में
k := खाली स्ट्रिंग
c := False
s में प्रत्येक कैरेक्टर i के लिए, करें
यदि i < 5 और c False है, तो
k := k कॉनकैटेनेट "5" कॉनकैटेनेट i
c := True
अन्यथा,
k := k कॉनकैटेनेट i
k को इंटीजर के रूप में लौटाएं
अन्यथा,
k := खाली स्ट्रिंग
s := |n| को स्ट्रिंग के रूप में
c := False
s में प्रत्येक कैरेक्टर i के लिए, करें
यदि i > 5 और c False के समान है, तो
k := k कॉनकैटेनेट "5" कॉनकैटेनेट i
c := True
अन्यथा,
k := k कॉनकैटेनेट i
यदि c false है, तो
k := k कॉनकैटेनेट "5"
(-k) लौटाएं
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें
def solve(n):
if n > 0:
s = str(n)
k = ""
c = False
for i in s:
if int(i) < 5 and c == False:
k += "5" + i
c = True
else:
k += i
return int(k)
else:
k = ""
s = str(abs(n))
c = False
for i in s:
if int(i) > 5 and c == False:
k += "5" + i
c = True
else:
k += i
if not c:
k += "5"
return int("-" + k)
n = 834
print(solve(n))
इनपुट
834
आउटपुट
8534