본문 바로가기

파이썬 알고리즘 풀이

21) 격자판 회문수

문제

1부터 9까지의 자연수로 채워진 7*7 격자판이 주어지면 격자판 위에서 가로방향 또는 세로방향으로 길이 5자리 회문수가 몇 개 있는지 구하는 프로그램을 작성하기

 

조건

회문수란 121과 같이 앞에서부터 읽으나 뒤에서부터 읽으나 같은 수를 말합니다.

 

빨간색처럼 구부러진 경우(87178)는 회문수로 간주하지 않습니다.

 

제한사항

1부터 9까지의 자연수로 채워진 7*7격자판이 주어집니다.

5자리 회문수의 개수를 출력합니다.

 

문제풀이

a=[list(map(int, input().split())) for _ in range(7)]

cnt=0
arr=[]

def check(arr):
  if arr != arr[::-1]:
    return False
  return True

for i in range(7):
  for j in range(3):
    for k in range(5):
      arr.append(a[i][j+k])
    if check(arr):
      cnt+=1
    arr=[]


for i in range(7):
  for j in range(3):
    for k in range(5):
      arr.append(a[j+k][i])
    if check(arr):
      cnt+=1
    arr=[]

print(cnt)

'파이썬 알고리즘 풀이' 카테고리의 다른 글

23) 랜선자르기  (0) 2021.10.22
22) 이분검색  (0) 2021.10.22
20) 스도쿠 검사  (0) 2021.10.22
19) 봉우리  (0) 2021.10.22
18) 곳감(모래시계)  (0) 2021.10.22