[알각코] 인프런 3-11 격자판 회문수

격자판 회문수

문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!

문제풀이

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

# 가로 0~4, 1~5, 2~6만, 세로는 모두 돌기
for i in range(3):
  for j in range(7):
    # 0, 1, 2, 3, 4 slice하기
    tmp = a[j][i:i+5]
    if (tmp==tmp[::-1]):
      cnt+=1
    # 세로 배열은 slice가 불가능
    for k in range(2):
      # 세로의 첫번째 값과 5번째 값을 비교, 2번쨰값과 4번째 값을 비교
      if board[i+k][j]!=board[i+5-k-1][j]:
        break
    else:
      cnt+=1

print(cnt)

이 모든걸 for문으로 해결하니 놀라울뿐….

4중 for문 처음본 것 같다

4중 for문은 2차원배열로 가로 세로 겨우 확인하는 것을 보면 왜 4중 for문이 필요한지 단박에 이해될 듯!