문제 바로가기 : https://www.acmicpc.net/problem/10942
메모리 : 217224KB
시간 : 1428ms
언어 : Java 11
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
boolean[][] pal = new boolean[N][N]; // 시작, 끝
for (int i = 0; i < N; i++) {
for (int j = i; j < N; j++) {
boolean flag = true;
// 시작이 i일때 끝이 j인 경우
for (int a = i, b = j; a <= i + ((j - i) / 2) && b >= i; a++, b--) {
if (arr[a] != arr[b]) {
flag = false;
break;
}
}
pal[i][j] = flag ? true : false;
}
}
int M = Integer.parseInt(br.readLine());
for (int i = 0; i < M; i++) {
st = new StringTokenizer(br.readLine());
int s = Integer.parseInt(st.nextToken()) - 1;
int e = Integer.parseInt(st.nextToken()) - 1;
if (pal[s][e]) {
sb.append("1\n");
} else {
sb.append("0\n");
}
}
System.out.print(sb);
}
}
'Algorithm' 카테고리의 다른 글
[Algo] 백준 15683 감시 JAVA (0) | 2024.05.08 |
---|---|
[Algo] 백준 9252 LCS2 JAVA (0) | 2024.05.08 |
[Algo] 백준 2251 물통 JAVA (0) | 2024.05.08 |
[Algo] 백준 7682 틱택토 JAVA (0) | 2024.05.08 |
[Algo] 백준 17836 공주님을 구해라! JAVA (0) | 2024.05.08 |