[파이썬/python] 백준 - 20112 사토르 마방진

2025. 6. 27. 17:22·알고리즘
반응형

문제

https://www.acmicpc.net/problem/20112


문제 설명

  1. $N*N$ 크기의 배열이 주어진다.
  2. 해당 배열이 사토르 마방진인지 판별한다.
    1. 가로로 읽었을 때 똑같이 읽혀야 한다.
    2. 세로로 읽었을 때 똑같이 읽혀야 한다.

 


풀이

  1. 가로 단어를 A, 세로 단어를 B에 저장한다.
    1. 가로 단어를 join을 통해 저장한다.
    2. 세로 단어를 for 문을 통해 한 글자씩 저장 후 join을  통해 저장한다.
  2. 두 단어 A와 B가 맞는지 검증한다.

코드

import sys
input = sys.stdin.readline
n = int(input())

board = [list(input().strip()) for _ in range(n)]

for i in range(n):
    a = ''.join(board[i])
    b = []
    for j in range(n):
        b.append(board[j][i])
    b = ''.join(b)
    if a != b:
        print("NO")
        exit()
print("YES")

시간복잡도

  • 단순 구현 문제이다. 시간 복잡도는 $O(N*N)$이다.
  •  최대 $N = 100$ 이므로 $O(10^4)$의 시간복잡도를 가진다. 
반응형

'알고리즘' 카테고리의 다른 글

[파이썬/python] 백준 - 14713 앵무새  (0) 2025.06.29
[파이썬/python] 백준 - 15815 천재 수학자 성필  (0) 2025.06.28
[파이썬/python] 백준 - 32200 항해  (0) 2025.06.26
[파이썬/python] 백준 - 12934 턴 게임  (0) 2025.06.25
[파이썬/python] 백준 - 10844 쉬운 계단 수  (0) 2025.02.07
'알고리즘' 카테고리의 다른 글
  • [파이썬/python] 백준 - 14713 앵무새
  • [파이썬/python] 백준 - 15815 천재 수학자 성필
  • [파이썬/python] 백준 - 32200 항해
  • [파이썬/python] 백준 - 12934 턴 게임
개골개굴
개골개굴
굶고 코딩하기
  • 개골개굴
    밥스토리
    개골개굴
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (144)
      • 알고리즘 (124)
      • Java (2)
      • 자기개발 (18)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    python
    SMTP
    completablefuture
    작심삼일 챌린지
    컴퓨터 구조
    java
    인프런
    컴퓨터구조
    알고리즘
    springboot
    async
    OS
    백준
    파이썬
    Redis
  • 최근 댓글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
개골개굴
[파이썬/python] 백준 - 20112 사토르 마방진
상단으로

티스토리툴바