LeetCode in Kotlin

824. Goat Latin

Easy

You are given a string sentence that consist of words separated by spaces. Each word consists of lowercase and uppercase letters only.

We would like to convert the sentence to “Goat Latin” (a made-up language similar to Pig Latin.) The rules of Goat Latin are as follows:

Return the final sentence representing the conversion from sentence to Goat Latin.

Example 1:

Input: sentence = “I speak Goat Latin”

Output: “Imaa peaksmaaa oatGmaaaa atinLmaaaaa”

Example 2:

Input: sentence = “The quick brown fox jumped over the lazy dog”

Output: “heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa”

Constraints:

Solution

class Solution {
    fun toGoatLatin(sentence: String): String {
        val splits = sentence.split(" ".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
        val sb = StringBuilder()
        val a = StringBuilder()
        for (word in splits) {
            if (isVowel(word[0])) {
                sb.append(word).append("ma")
            } else {
                val firstChar = word[0]
                sb.append(word.substring(1)).append(firstChar).append("ma")
            }
            a.append("a")
            sb.append(a)
            sb.append(" ")
        }
        return sb.toString().trim { it <= ' ' }
    }

    private fun isVowel(c: Char): Boolean {
        return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy