문제
N X N 크기의 문자로 이루어진 2차원 배열이 주어질 때, 가로, 세로 방향의 회문 중 가장 긴 회문의 길이를 구하는 문제
풀이방법
완전 탐색으로 가로 새로 1 ~ n-1 크기의 회문을 모두 탐색하고 그 중 가장 큰 회문의 길이를 출력.
소스코드
package samsung;
import java.util.*;
public class s_1216 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int t = 1; t <= 10; t++) {
int tmp = sc.nextInt();
int max = 1;
char[][] a = new char[100][100];
for(int i = 0; i < 100; i++) {
String s = sc.next();
for(int j = 0; j < 100; j++) {
a[i][j] = s.charAt(j);
}
}
for(int i = 0; i < 100; i++) {
for(int j = 2; j <= 100; j++) {
char[] c = new char[j];
int flag = 0;
for(int k = 0; k < 100 - j; k++) {
for(int l = 0; l < j; l++) {
c[l] = a[i][l + k];
}
for(int l = 0; l < j / 2; l++) {
if(c[l] != c[j-l]) {
flag = 1;
break;
}
}
if(flag == 0)
max = Math.max(max, j);
}
}
}
System.out.println("#" + t + " " + max);
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 2806. N-Queen (0) | 2020.02.21 |
---|---|
[SWEA] 1221. [S/W 문제해결 기본] 5일차 - GNS (0) | 2020.02.21 |
[SWEA] 3142. 영준이와 신비한 뿔의 숲 (0) | 2020.02.16 |
[SWEA] 2805. 농작물 수확하기 (0) | 2020.02.16 |
[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String (0) | 2020.02.16 |
댓글