문제
- 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 번만큼만 앞 뒤로 문자가 같은지 확인했다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[이분탐색(결정알고리즘)][그리디 알고리즘] - 랜선 자르기(결정 알고리즘) (0) | 2022.07.08 |
---|---|
[이분탐색(결정알고리즘)][그리디 알고리즘] - 이분 검색 (0) | 2022.07.08 |
[탐색][시뮬레이션] - 스토쿠(2차원 List) (0) | 2022.07.07 |
[탐색][시뮬레이션] - 봉우리(2차원 List) (0) | 2022.07.07 |
[탐색][시뮬레이션] - 곶감(2차원 List) (0) | 2022.07.06 |