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

Python에서 숫자를 가장 크게 만들려면 5를 삽입하세요.

<시간/>

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

따라서 입력이 n =826과 같으면 출력은 8526이 됩니다.

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

  • temp :=n을 문자열로
  • ans :=-inf
  • 0에서 temp 크기의 범위에 있는 i에 대해
    • cand :=인덱스 0에서 i까지 temp의 하위 문자열 '5' 연결 인덱스 i에서 끝까지 temp의 하위 문자열 연결
    • i가 0과 같고 temp[0]이 '-'와 같으면
      • 다음 반복으로 이동
    • ans :=ans의 최대값, cand 수
  • 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution:
   def solve(self, n):
      temp = str(n)
      ans = float('-inf')
      for i in range(len(temp) + 1):
         cand = temp[:i] + '5' + temp[i:]
         if i == 0 and temp[0] == '-':
            continue
            ans = max(ans, int(cand))
      return ans
ob = Solution()
print(ob.solve(826))

입력

826

출력

8526