algorithm 231

자물쇠와 열쇠 ( Level 3, Python, 2020 Kakao Blind Recruitment )

def rotate(board): board = zip(*board[::-1]) return [list(b) for b in board] def solution(key, lock): n, m = len(key), len(lock) zero = sum(lock, []).count(0) lock = [[0] * 3 * m for _ in range(m)] +\ [[0] * m + lock[i] + [0] * m for i in range(m)] +\ [[0] * 3 * m for _ in range(m)] for _ in range(4): key = rotate(key) for i in range(3 * m - n): for j in range(3 * m - n): temp, count = 0, 0 for ..

합승 택시 요금 ( Level 3, Python, 2021 Kakao Blind Recruitment )

def solution(n, s, a, b, fares): INF = int(1e9) graph = [[0 if i == j else INF for i in range(n + 1)] for j in range(n + 1)] for f in fares: x, y, z = f graph[x][y] = graph[y][x] = z for k in range(1, n + 1): for x in range(1, n + 1): for y in range(1, n + 1): graph[x][y] = min(graph[x][y], graph[x][k] + graph[k][y]) ans = graph[s][a] + graph[s][b] for i in range(1, n + 1): ans = min(ans, graph[..