第2週


コードテストと実際の操作機能のアルゴリズム研究(Pythonクラス)への参加内容を整理した.

鍵と鍵

def rotate_90(key):
    n = len(key)
    new_key = [[0] * n for _ in range(n)]
    for i in range(n):
        for j in range(n):
            new_key[j][n - i - 1] = key[i][j]
    return new_key
unpackingについて知りました.Unpackingはカッコを外すように考えられます.
return [list(reversed(i)) for i in zip(*key)]

アクセスの長さ


逆方向に移動する可能性があるため、双方向に配置
if (cx, cy, nx, ny) not in path and (nx, ny, cx, cy) not in path:
ソートは常に小さい値を左側に配置するので、方向を考慮する必要はありません.
check.add(tuple(sorted([position, next_position])))

ペアリング削除

# 코드 리뷰 전
 if stack:
        return 0
    return 1
    
# 코드 리뷰 후 
return int(stack == [])