Data Structures & Algorithms

[Algorithms] Basic-격자판 회문수

숄구-ml 2022. 5. 15. 13:11

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys
 
sys.stdin = open("input""rt")
ar = [list(map(int, input().split())) for _ in range(7)]
 
cnt=0
for i in range(3):              # 한 행, 또는 한 열에 5개씩 총 3번 이동할 수 있으니까
    for j in range(7):          # 한 행, 또는 한 열이 총 7줄씩 있으니까
        temp = ar[j][i:i+5]     # 행 같은 경우는 회문 검사시 슬라이스 기능을 이용할 수 있다
        if temp == temp[::-1]:
            cnt+=1
        for k in range(5//2):   # 회문 검사시 숫자 개수 // 2를 해준 몫이 검사해야 하는 횟수를 나타낸다
            if ar[k+i][j] != ar[5-k+i-1][j]:    # 열은 슬라이스 기능을 쓸 수 없으므로 한글자씩 검사한다
                break
        else:
            cnt+=1
 
print(cnt)
cs
728x90