보통사람

[7kyu] 문자열 역순 (Reverse Letter) 본문

Codewars/Java

[7kyu] 문자열 역순 (Reverse Letter)

pej4303 2019. 8. 3. 00:03
/**
 * <pre>
 * 문자열 역순 (Reverse Letter)
 * 
 * 문자열이 주어지면 알파벳이 아닌 모든 문자는 생략합니다.
 * 문자열은 소문자 라틴 문자, 숫자 및 기호로 구성됩니다.
 * 
 * Given a string str, reverse it omitting all non-alphabetic characters.
 * A string consists of lowercase latin letters, digits and symbols.
 * </pre>
 * 
 * @param {String} 문자열
 * @return {String} 역순 문자열
 * @author pej
 * @date 2019. 04. 07.
 * @example reverseLetter("ue^jk") ==> "kjeu" 
 */
public static String reverseLetter(final String str) {
    StringBuffer buffer = new StringBuffer();
    char[] tmp = str.toCharArray();
    for (int i=0; i<tmp.length; i++) {
        if(Character.isWhitespace(tmp[i]) || Character.isLetter(tmp[i])) {
            buffer.append(tmp[i]);
        }
    }
    return buffer.reverse().toString();
}

 

  • 방법2) 다른 사람이 한 것

public static String reverseLetter(final String str) {
    return new StringBuilder(str.replaceAll("[^a-zA-Z]", "")).reverse().toString();
}