팰린드롬(Palindrome) 문제
문제
팰린드롬은 거꾸로 읽어도, 바르게 읽어도 똑같은 문장입니다.
예를들어
- level 팰린드롬입니다.
- star 팰린드롬이 아닙니다.
주어진 문자열이 팰린드롬인지 출력하세요.
풀이
길이가 n 인 문자열을 입력합니다.
문자열의
첫번째, n 번째 캐릭터
가 같은지 검사합니다.문자열의
첫번째 + 1, n 번째 - 1 캐릭터
가 같은지 검사합니다.문자열의
첫번째 + 2, n 번째 - 2 캐릭터
가 같은지 검사합니다.반복합니다.
public class Hello {
public static void main(String[] args) {
String str = "level"; // 팰린드롬 문자열
boolean isPalindrome = false;
int center = str.length() / 2;
int last = str.length() - 1;
for (int start = 0; start < center; start++) {
// 격차를 줄여가며 처음과 끝의 캐릭터가 같은지 검사
if (str.charAt(start) == str.charAt(last - start)) {
isPalindrome = true;
} else {
isPalindrome = false;
}
}
// 결과 확인
System.out.println(isPalindrome);
}
}
> java Hello
true