1. 팰린드롬(회문)인지 판별하는 함수를 생성한다
2. 가로 리스트에서 나올 수 있는 모든 경우에 팰린 함수를 돌린다
3. 결과가 True고, 길이가 N이면 cnt 증가
나는야 팰린드롬 마스터
# 팰린드롬 판별 함수
def palin(str):
for i in range(len(str)//2):
if str[i] != str[len(str)-1-i]:
return False
break
else:
return True
T = 10
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
N = int(input())
arr = [list(input())for _ in range(8)]
arr_t = [[0]*8 for _ in range(8)]
ans = [0]
# 전치행렬 만들기
for i in range(8):
for j in range(8):
arr_t[i][j] = arr[j][i]
cnt = 0
for k in range(8):
for i in range(8):
for j in range(8, i-1, -1):
# arr[k][i:j]가 팰린드롬이고, 길이가 N 이면 cnt 증가
if palin(arr[k][i:j]) == True and len(arr[k][i:j]) == N:
cnt += 1
# 세로 버전
if palin(arr_t[k][i:j]) == True and len(arr_t[k][i:j]) == N:
cnt += 1
print(f'#{test_case} {cnt}')
'SWEA' 카테고리의 다른 글
[SWEA] 4866 괄호검사 - python (0) | 2023.02.18 |
---|---|
[SWEA] 4871 그래프 경로 -python (0) | 2023.02.14 |
[SWEA] 1974 스도쿠 검증 -python (0) | 2023.02.13 |
[SWEA] 3144 가장 빠른 문자열 타이핑 - python (0) | 2023.02.13 |
[SWEA] 1979 어디에 단어가 들어갈 수 있을까 - python (0) | 2023.02.13 |