defsolution(rows,columns,queries):# 그리드 그리기
grid=[list(range(r*columns+1,r*columns+columns+1))forrinrange(rows)]# 시작점부터 순서대로 돌기
defrotate_store(sx,sy,fx,fy):stack=[]t=None# 시작점에서 오른쪽으로 이동
foriinrange(sy,fy+1):ifnotstack:stack.append(grid[sx][i])else:t=grid[sx][i]grid[sx][i]=stack[-1]stack.append(t)foriinrange(sx+1,fx+1):t=grid[i][fy]grid[i][fy]=stack[-1]stack.append(t)foriinrange(fy-1,sy-1,-1):t=grid[fx][i]grid[fx][i]=stack[-1]stack.append(t)foriinrange(fx-1,sx-1,-1):t=grid[i][sy]grid[i][sy]=stack[-1]stack.append(t)returnmin(stack)result=[]forqinqueries:sx,sy=q[0]-1,q[1]-1fx,fy=q[2]-1,q[3]-1min_v=rotate_store(sx,sy,fx,fy)result.append(min_v)returnresult
알게된점
grid 문제에서 list out of index 에러 나면 row 랑 columns 맞게 넣어서 그리드 그린건지 확인해보기!!
Leave a comment