สมมติว่ามีสตริง older และ newer แทนเวอร์ชันซอฟต์แวร์ในรูปแบบ "major.minor.patch" เราต้องตรวจสอบว่า newer ใหม่กว่า older จริงๆ
เช่น ถ้าอินพุตคือ older = "7.2.2", newer = "7.3.1" ผลลัพธ์จะเป็น True
ขั้นตอนการแก้ปัญหา
- older := แยก major, minor, patch ของ older
- newer := แยก major, minor, patch ของ newer
- สำหรับแต่ละคู่ o, n ใน zip(older, newer)
- ถ้า int(n) > int(o) คืนค่า True
- ถ้า int(n) < int(o) คืนค่า False
- คืนค่า False
ตัวอย่างโค้ด
class Solution:
def solve(self, older, newer):
older = older.split('.')
newer = newer.split('.')
for o, n in zip(older, newer):
if int(n) > int(o):
return True
elif int(n) < int(o):
return False
return False
ob = Solution()
older = "7.2.2"
newer = "7.3.1"
print(ob.solve(older, newer))
อินพุต
"7.2.2", "7.3.1"
เอาต์พุต
True