Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lật số 123 trong Python

Cho số nguyên n chỉ chứa chữ số 1,2,3. Có thể lật một chữ số thành 3. Tìm số lớn nhất có thể tạo ra.

Ví dụ: 11332 → 31332 (lật chữ số 1 đầu tiên thành 3).

Các bước giải quyết

  • Chuyển n thành danh sách ký tự
  • Duyệt từ trái sang phải: nếu ký tự != '3' thì đổi thành '3' và trả về số mới
  • Nếu tất cả đều '3' thì trả về n

Ví dụ mã Python

class Solution:
    def solve(self, n):
        li = list(str(n))
        for x in range(len(li)):
            if li[x] != '3':
                li[x] = '3'
                return int(''.join(li))
        return n

ob = Solution()
print(ob.solve(11332))

Đầu vào

11332

Đầu ra

31332