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분 정도 헤맸다. 분명, 정사각형 그리드가 주어질 것이라고 명시했으면 테스트 케이스에서는 직사각형으로 줬다 ... 나쁜 사람들