출처 : SW Expert Academy
글자판에서 가로, 세로를 모두 보아
제시된 길이를 가진 회문의 총 개수를 구하는 문제
[제약 사항]
각 칸의 들어가는 글자 : c언어 char type ('A', 'B', 'C' 중 하나)
글자 판 : 무조건 정사각형 8X8
회문 : ABA, ABBA, A 등 가로 세로 직선만 가능
[입력]
총 10개의 테스트 케이스
각 테스트 케이스의 첫 번째 줄 : 회문의 길이
다음 줄 : 테스트 케이스
[출력]
#테스트케이스(공백)찾은 회문의 개수
# 0824
import sys
sys.stdin = open('input.txt')
T = 10
#
for tc in range(1,T+1):
# 회문의 길이
N = int(input())
# 8X8 글자판
arr = [list(map(str, input())) for _ in range(8)]
cnt_row = 0
cnt_col = 0
# 행 검사
for i in range(8):
for j in range(8-N +1):
result_row = ''
for char in range(N):
result_row += arr[i][j+char]
# 회문 검사
if result_row == result_row[::-1]:
cnt_row += 1
# 열 검사
for i in range(8-N+1):
for j in range(8):
result_col = ''
for char in range(N):
result_col += arr[i+char][j]
# 회문 검사
if result_col == result_col[::-1]:
cnt_col += 1
print("#{} {}".format(tc, cnt_row + cnt_col))