오늘은 여기까지
[swea/20019] 회문의 회문 - Java 자바 본문
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AY2hjCWKbykDFATh
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
전체코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= T; tc++) {
String str = br.readLine();
System.out.println("#" + tc + " " + (isPalindromeOfPalindrome(str) ? "YES" : "NO"));
}
}
public static boolean isPalindromeOfPalindrome(String str) {
int N = str.length();
// 전체 문자열이 회문인지 확인
if (!isPalindrome(str, 0, N - 1)) {
return false;
}
// 앞쪽 (N-1)/2 글자가 회문인지 확인
if (!isPalindrome(str, 0, (N-1)/2 - 1)) {
return false;
}
// 뒤쪽 (N-1)/2 글자가 회문인지 확인
if (!isPalindrome(str, N - (N-1)/2, N - 1)) {
return false;
}
return true;
}
public static boolean isPalindrome(String str, int start, int end) {
while (start < end) {
if (str.charAt(start) != str.charAt(end)) {
return false;
}
start++;
end--;
}
return true;
}
}
'Problem Solving' 카테고리의 다른 글
[swea/4008] 숫자 만들기 - Java 자바 (0) | 2024.11.19 |
---|---|
[백준/13549] 숨바꼭질 3 - Java 자바 (0) | 2024.11.19 |
[swea/4012] 요리사 - Java 자바 (1) | 2024.11.16 |
[프로그래머스] 조이스틱 - Java 자바 (0) | 2024.11.15 |
[프로그래머스] 체육복 - Java 자바 (2) | 2024.11.14 |