[Programmers][Python]マトリクスの枠線を回転



https://programmers.co.kr/learn/courses/30/lessons/77485

📌に答える


私が書いた解答(成功)

  • の値を決定するために、box行列
  • が実施する.
  • の問題では、与えられた条件で回転値、最小値answer
  • を加える.
    def solution(rows, columns, queries):
        answer = []
        box =[] # 행렬 값 설정
        for i in range(rows) :
            box.append([])
            for j in range(columns) :
                box[i].append((i)*columns+j+1)
                
        for y1, x1, y2, x2 in queries:
    		# x, y : 현재 인덱스 위치
            # tmp에 값을 저장하며 위치를 변경
            # 변경하는 과정에서 더 작은 값이 나오면 num을 변경
            x, y = x1-1, y1-1
            num = tmp = box[y][x]
            for _ in range(x2-x1):
                nx = x+1
                box[y][nx], tmp = tmp, box[y][nx]
                x = nx
                num = min(num, tmp)
            for _ in range(y2-y1):
                ny = y+1
                box[ny][x], tmp = tmp, box[ny][x]
                y = ny
                num = min(num, tmp)
            for _ in range(x2-x1):
                nx = x-1
                box[y][nx], tmp = tmp, box[y][nx]
                x = nx
                num = min(num, tmp)
            for _ in range(y2-y1):
                ny = y-1
                box[ny][x], tmp = tmp, box[ny][x]
                y = ny
                num = min(num, tmp)
            answer.append(num)    # num 추가
            
        return answer

    📌ポスト


    和弦がざらざらしている感じ...