Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 임의의 위치에 5를 추가하여 최대 수를 찾는 프로그램

<시간/>

숫자 n이 있다고 가정하고 숫자의 아무 곳에나 5를 삽입하여 얻을 수 있는 최대 숫자를 찾아야 합니다.

따라서 입력이 n =834와 같으면 출력은 8534가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • n> 0이면

    • s :=n을 문자열로

    • k :=빈 문자열

    • c :=거짓

    • s의 각 문자 i에 대해 수행

      • i <5이고 c가 False이면

        • k :=k 연결 "5" 연결 i

        • c :=참

      • 그렇지 않으면

        • k :=k 연결 i

    • k를 정수로 반환

  • 그렇지 않으면

    • k :=빈 문자열

    • s :=|n| 문자열로

    • c :=거짓

    • s의 각 문자 i에 대해 수행

      • i> 5이고 c가 False와 같으면

        • k :=k 연결 "5" 연결 i

        • c :=참

      • 그렇지 않으면

        • k :=k 연결 i

    • c가 거짓이면

      • 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