
Grid 형태로 문자열이 주어졌을 때, 우리는 row의 경우 알파벳 순서대로 재정렬을 한다. 정렬된 Grid의 row와 col이 전부 알파벳 순서라면 "YES"를 return 하고, 그렇지 않다면 "NO"를 return한다.
#!/bin/python3
import math
import os
import random
import re
import sys
def gridChallenge(grid, n):
    sort_grid = []
    for i in grid:
        sort_row = sorted(i)
        row_length = len(sort_row)
        sort_grid.append(''.join(sort_row))
    for s in range(n-1):
        #print(s)
        for c in range(row_length):
            if sort_grid[s][c] > sort_grid[s+1][c]:
                return "NO"
          
    return "YES"
            
            
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    t = int(input().strip())
    for t_itr in range(t):
        n = int(input().strip())
        grid = []
        for _ in range(n):
            grid_item = input()
            grid.append(grid_item)
        result = gridChallenge(grid, n)
        fptr.write(result + '\n')
    fptr.close()
📌 고려해야할 점
🙄 느낀 점
아니 문제와 테스트케이스가 달라서 20분 정도 헤맸다. 분명, 정사각형 그리드가 주어질 것이라고 명시했으면 테스트 케이스에서는 직사각형으로 줬다 ... 나쁜 사람들