[문제]
"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.
단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라.
[풀이방법]
문자열의 길이 중간 (N/2)에서부터 한칸씩 앞뒤로 전진하며 동일한지 아닌지 판단하면 됩니다.
for (int k = 0; k < N; k++) {
sf.append("#" + (k+1) + " ");
String s = br.readLine();
if (checkPalindrom(s) )
sf.append(1);
else
sf.append(0);
sf.append("\n");
}
static boolean checkPalindrom(String s) {
int n = s.length();
for (int i = 0; i < n/2; i++) {
if (s.charAt(i) != s.charAt(n-i-1))
return false;
}
return true;
}
'SWEA > D2' 카테고리의 다른 글
[SWEA 1859][D2][JAVA] 백만장자 프로젝트 (0) | 2019.04.30 |
---|---|
[SWEA 1986][D2][JAVA] 지그재그 숫자 (0) | 2019.04.30 |
[SWEA 2005][D2][JAVA] 파스칼의 삼각형 (0) | 2019.04.29 |
[SWEA 2001][D2][JAVA] 파리퇴치 (0) | 2019.04.29 |
[SWEA 2007][D2][JAVA] 패턴 마디의 길이 (0) | 2019.04.29 |