IT보안관의 공부 클라우드

[프로그래머스 Level2]게임 맵 최단거리 본문

코딩 테스트/프로그래머스

[프로그래머스 Level2]게임 맵 최단거리

ㅡㅡㅡㅡㄷ 2022. 7. 4. 19:55

코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 게임 맵 최단거리

[[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1

programmers.co.kr

from collections import deque

#   동 서 남 북
dx = [1, -1, 0, 0]
dy = [0, 0, 1, -1]
def bfs(graph):

    n = len(graph)
    m = len(graph[0])

    # visit = [[0 for i in range(m)]for i in range(n)]

    q = deque()
    q.append([0, 0])

    while q:
        x, y = q.popleft()
        # visit[x][y] = 1

        for i in range(4):
            xx = x + dx[i]
            yy = y + dy[i]
            if xx < 0 or xx >= n or yy < 0 or yy >= m:
                continue
            if graph[xx][yy] == 0:
                continue
            if graph[xx][yy] == 1: #and visit[xx][yy] == 0:
                graph[xx][yy] += graph[x][y]
                q.append([xx, yy])

    return graph


def solution(maps):
    answer = bfs(maps)
    print(answer)

    return -1 if answer[-1][-1] == 1 else answer[-1][-1]

 

문제를 제대로 안읽어서 틀림..

Comments