Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

123 Number Flip ใน Python


สมมติว่าเรามีจำนวนเต็ม n โดยที่ตัวเลขเหล่านี้มีเพียง 1, 2 และ 3 เท่านั้น เราสามารถพลิกหนึ่งหลักเป็น 3 แล้วหาจำนวนสูงสุดที่เราสามารถทำได้

ดังนั้น หากอินพุตเป็น 11332 เอาต์พุตจะเป็น 31332

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • li :=รายการตามหลักของ n

  • สำหรับ x ในช่วง 0 ถึงขนาดของ li - 1 ทำ

    • ถ้า li[x] ไม่ใช่ '3' แล้ว

      • li[x] :='3'

      • ส่งคืนหมายเลขโดยการรวมตัวเลขจาก li

  • กลับ n

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

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))

อินพุต

11332

ผลลัพธ์

31332