ปัญหา
กำหนดรายการ 4 ด้าน ตรวจสอบว่าสามารถสร้างเป็นสี่เหลี่ยมผืนผ้าได้หรือไม่ (ต้องมีคู่ด้านตรงข้ามเท่ากัน)
ตัวอย่าง: [10, 30, 30, 10] → True (มีคู่ 10 และ 30)
แนวทางแก้ปัญหา
ตรวจสอบทุกกรณีที่เป็นไปได้ของคู่ด้าน:
- ทั้ง 4 ด้านเท่ากัน (สี่เหลี่ยมจัตุรัส)
- ด้านที่ 0=1 และ 2=3
- ด้านที่ 0=3 และ 2=1
- ด้านที่ 0=2 และ 3=1
ตัวอย่างโค้ด
def solve(sides):
if sides[0] == sides[1] == sides[2] == sides[3]:
return True
elif sides[0] == sides[1] and sides[2] == sides[3]:
return True
elif sides[0] == sides[3] and sides[2] == sides[1]:
return True
elif sides[0] == sides[2] and sides[3] == sides[1]:
return True
return False
sides = [10, 30, 30, 10]
print(solve(sides)) # Trueอินพุต / เอาต์พุต
Input: [10, 30, 30, 10] Output: True