สมมติว่าเรามีชุดของสตริง (ประโยค) ในชุดนั้นมีคำไม่กี่คำ แต่ละคำประกอบด้วยตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ งานของเราคือการแปลงประโยคเป็นรูปแบบ Goat-Latin Goat Latin คล้ายกับ Pig Latin มีเงื่อนไขบางประการ
- หากคำขึ้นต้นด้วยสระ ให้เติมคำว่า ma ต่อท้าย
- เป็นคำที่ขึ้นต้นด้วยพยัญชนะ แล้วลบคำนั้นตั้งแต่ต้น ต่อท้ายด้วยพยัญชนะ แล้วเติม 'ma' ต่อท้าย
- เพิ่มตัวอักษร 'a' หนึ่งตัวต่อท้ายแต่ละคำต่อดัชนีคำในประโยค เริ่มต้นด้วย 1
ดังนั้น หากตัวอย่างเช่น “อดัมต้องการเข้ามหาวิทยาลัย” สตริงที่แปลงแล้วจะเป็น “Adammaa antswmaaa otmaaaa ogmaaaaa otmaaaaaa hetmaaaaaaa universitymaaaaaaaa”
เพื่อแก้ปัญหานี้ งานง่าย ๆ ให้นำประโยคและแบ่งออกเป็นคำ จากนั้นสำหรับแต่ละคำ ให้ตรวจสอบเงื่อนไขที่กำหนดและดำเนินการตามที่กล่าวไว้ข้างต้น
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
class Solution: def toGoatLatin(self, S): """ :type S: str :rtype: str """ temp = S.split(" ") counter = 1 result = [] vowel = {"a","e","i","o","u"} for i in temp: if i[0].lower() in vowel: x = i + "ma" + ("a"*counter) else: x=i[1:]+i[0] + "ma" +("a"*counter) counter+=1 result.append(x) return " ".join(c for c in result) ob1 = Solution() print(ob1.toGoatLatin("Adam wants to go to the university"))
อินพุต
"Adam wants to go to the university"
ผลลัพธ์
"Adammaa antswmaaa otmaaaa ogmaaaaa otmaaaaaa hetmaaaaaaa universitymaaaaaaaa"