สมมติว่ามีผู้เล่นสองคนคือ Amal และ Bimal กฎเกม:
- ทั้งคู่มีสตริง s เหมือนกัน
- ทั้งคู่ต้องสร้าง substring จากตัวอักษรของ s
- Bimal สร้างคำที่เริ่มต้นด้วยพยัญชนะ (Consonants)
- Amal สร้างคำที่เริ่มต้นด้วยสระ (Vowels)
- เกมจบเมื่อทั้งคู่สร้าง substring ทุกแบบที่เป็นไปได้
เกณฑ์การให้คะแนน: ผู้เล่นได้ 1 คะแนนสำหรับแต่ละครั้งที่ substring ปรากฏใน s ต้องหาผู้ชนะและคะแนน
ตัวอย่าง s = "BANANA" -> Bimal ชนะ 12 คะแนน
ขั้นตอนการแก้ปัญหา
- vowels := เซตของสระ 'AEIOU'
- p1 := 0 (คะแนน Bimal), p2 := 0 (คะแนน Amal)
- สำหรับแต่ละ index i และตัวอักษร c ใน word:
- ถ้า c เป็นสระ: p2 += len(word) - i
- มิฉะนั้น: p1 += len(word) - i
- เปรียบเทียบ p1 และ p2 คืนค่าผู้ชนะและคะแนน
ตัวอย่างโค้ด
def solve(word):
vowels = set('AEIOU')
p1 = 0
p2 = 0
for i, c in enumerate(word):
if c in vowels:
p2 += len(word) - i
else:
p1 += len(word) - i
if p1 > p2:
return 'Bimal', p1
elif p2 > p1:
return 'Amal', p2
else:
return 'Draw'
word = "BANANA"
print(solve(word))
อินพุต
"BANANA"
เอาต์พุต
('Bimal', 12)