자료구조와 알고리즘/개인적인 코딩테스트 관련 풀이
[탐색][시뮬레이션] - 격자판 회문수(2차원 List)
얄루몬
2022. 7. 7. 20:18
문제
- 7X7 판에 있는 숫자들 중 5개의 숫자가 회문인지를 검사하라 이때 가로 5 세로 5만 허용한다. (꺾이면 안 됨)
문제 풀이
import sys
#sys.stdin = open("input.txt","r")
board = [list(map(int,input().split())) for _ in range(7)]
cnt = 0
for i in range(3):
for j in range(7):
tmp = board[j][i:i+5]
if tmp == tmp[::-1]:
cnt +=1
#7X7에서 5글자만 비교하면 되기에 앞뒤로 2번만 확인해주면 됨(가운데는 어차피 다 같음)
#세로의 경우엔 슬라이스 기능 사용 불가!
for k in range(2):
if board[i+k][j] != board[i+5-k-1][j]:
break
else:
cnt +=1
print(cnt)
- 가로의 경우 5번씩 총 3번 검사할 수 있어 i를 3으로 잡아두고 진행하였다.
- 세로의 경우 슬라이싱 기능을 사용할 수 없기 때문에 5 // 2 번만큼만 앞 뒤로 문자가 같은지 확인했다.