더북(TheBook)

이렇게 하면 배열 회전에 대한 문제도 해결할 수 있습니다.

def rotate(x1, y1, x2, y2, matrix):
    first = matrix[x1][y1]
    min_value = first
      
    #왼쪽
    for k in range(x1, x2):
        matrix[k][y1] = matrix[k + 1][y1]
        min_value = min(min_value, matrix[k + 1][y1])
    #아래
    for k in range(y1, y2):
        matrix[x2][k] = matrix[x2][k + 1]
        min_value = min(min_value, matrix[x2][k + 1])
    #오른쪽
    for k in range(x2, x1, -1):
        matrix[k][y2] = matrix[k - 1][y2]
        min_value = min(min_value, matrix[k - 1][y2])
    #위
    for k in range(y2, y1 + 1, -1):
        matrix[x1][k] = matrix[x1][k - 1]
        min_value = min(min_value, matrix[x1][k - 1])
      
    matrix[x1][y1 + 1] = first
    return min_value
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.