hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전] N
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[Coding Test]/[프로그래머스]

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

2023. 9. 7. 13:01
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/1844

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

from collections import deque
def solution(maps):
    n, m = len(maps), len(maps[0])
    visited = [ [0]*m for _ in range(n) ]
    dx = [ 0, 0, -1, 1 ]
    dy = [ -1, 1, 0, 0 ]
    def bfs(x, y):
        visited[x][y] = 1
        q = deque()
        q.append([x, y])
        while q:
            x, y = q.popleft()
            if x == n-1 and y == m-1:
                return visited[x][y]
            for i in range(4):
                nx = x + dx[i]
                ny = y + dy[i]
                if 0 <= nx < n and 0 <= ny < m:
                    if maps[nx][ny] == 1 and visited[nx][ny] == 0:
                        visited[nx][ny] = visited[x][y] + 1
                        q.append([nx, ny])
        return -1
    return bfs(0, 0)

 

비슷한 문제

백준: 토마토, 숨바꼭질, 미로 탐색

프로그래머스: 미로 탈출, 단어 변환 

728x90
저작자표시 동일조건

'[Coding Test] > [프로그래머스]' 카테고리의 다른 글

[프로그래머스] lv3 아이템 줍기 / 파이썬 [해설과 다른 풀이], 고득점kit  (0) 2023.09.08
[프로그래머스] 단어 변환  (0) 2023.09.07
[프로그래머스] 네트워크  (0) 2023.09.03
[프로그래머스] 타겟넘버  (0) 2023.09.03
[카카오] 42888 python : 오픈채팅방  (0) 2022.05.22
'[Coding Test]/[프로그래머스]' 카테고리의 다른 글
  • [프로그래머스] lv3 아이템 줍기 / 파이썬 [해설과 다른 풀이], 고득점kit
  • [프로그래머스] 단어 변환
  • [프로그래머스] 네트워크
  • [프로그래머스] 타겟넘버
hgk0404
hgk0404
공부기록

티스토리툴바