[프로그래머스] 행렬 테두리 회전하기

yewon Lee·2023년 8월 2일
0


😎코딩테스트 연습>2021 Dev-Matching: 웹 백엔드 개발자(상반기)>행렬 테두리 회전하기


📘 문제풀이

구냥.. 노가다...

import numpy as np
def solution(rows, columns, queries):
    answer = []
    mat = range(1, rows*columns+1)
    mat = np.array(mat)
    mat = mat.reshape(rows, columns)
    
    for q in queries:
        xi, yi, xj, yj = q
        min = rows*columns
        a = mat[xi-1][yi-1]
        
        for y in range(yi, yj):
            if a < min:
                min = a
            b = mat[xi-1][y]
            mat[xi-1][y] = a
            a = b
            
        for x in range(xi, xj):
            if a < min:
                min = a
            b = mat[x][yj-1]
            mat[x][yj-1] = a
            a = b
          
        for y in range(yj-2, yi-2, -1):
            if a <  min:
                min = a
            b = mat[xj-1][y]
            mat[xj-1][y] = a
            a = b
        
        for x in range(xj-2, xi -2, -1):
            if a <  min:
                min = a
            b = mat[x][yi-1]
            mat[x][yi-1] = a
            a = b
        
        answer.append(int(min))
    return answer
profile
시작

0개의 댓글