관리 메뉴

나만을 위한 블로그

[Algorithm] 회문 알고리즘이란? 본문

카테고리 없음

[Algorithm] 회문 알고리즘이란?

참깨빵위에참깨빵_ 2022. 8. 14. 22:20
728x90
반응형

회문의 뜻은 아래와 같다.

 

앞에서부터 읽으나 뒤에서부터 읽으나 같은 말이 되는 어구

 

예를 들어 '가나다나가', '토마토', '바야바' 등의 단어가 회문이다. '가나다라나', '바나나' 등의 단어는 다른 방향으로 읽으면 회문이 아니다.

이것을 판별하는 알고리즘은 아래와 같다.

 

private static String test(String str) {
        String answer = "회문입니다";
        str = str.toUpperCase();
        int len = str.length();

        for (int i = 0; i < len / 2; i++) {
            if (str.charAt(i) != str.charAt(len - i - 1)) {
                return "회문이 아닙니다!";
            }
        }
        return answer;
    }

 

코틀린의 경우 아래처럼 작성할 수도 있다.

 

fun test(str: String): String {
    var mStr = str
    mStr = mStr.uppercase()
    val len = mStr.length

    for (i in 0 until (len / 2)) {
        if (str[i] != str[len - i - 1]) {
            return "회문이 아닙니다"
        }
    }
    return "회문입니다"
}

 

반응형
Comments