Suppose we have a number n, we have to find the maximum number we can get by inserting 5 anywhere in the number.
So, if the input is like n = 834, then the output will be 8534.
To solve this, we will follow these steps −
if n > 0, then
s := n as string
k := blank string
c := False
for each character i in s, do
if i < 5 and c is False, then
k := k concatenate "5" concatenate i
c := True
otherwise,
k := k concatenate i
return k as integer
otherwise,
k := blank string
s := |n| as string
c := False
for each character i in s, do
if i > 5 and c is same as False, then
k := k concatenate "5" concatenate i
c := True
otherwise,
k := k concatenate i
if c is false, then
k := k concatenate "5"
return (-k)
Example
Let us see the following implementation to get better understanding
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))Input
834
Output
8534