leetCode の「824. Goat Latin」を解いた。
https://leetcode.com/problems/goat-latin/
leetCode の掲示板に、単語 (String) が文字 (char) を含んでいるのか、簡単に判定する方法があったので、今後の参考のため、その方法を使った実装例をここに残しておく。
public String toGoatLatin(String S) { if (S == null || S.length() == 0) { return ""; } StringBuilder result = new StringBuilder(); StringBuilder suffix = new StringBuilder(); String[] words = S.split(" "); for (String word : words) { suffix.append('a'); char firstCh = word.charAt(0); // word が母音で始まるかどうかを判定。 // 以下のように String#indexOf() を使うと簡単。 if ("aeiouAEIOU".indexOf(firstCh) >= 0) { result.append(word); } else { result.append(word.substring(1)).append(firstCh); } result.append("ma").append(suffix).append(" "); } return result.toString().substring(0, result.length() - 1); }