heyjinn.dev
헤이지니
heyjinn.dev
  • 분류 전체보기 (66)
    • 알고리즘 💻 (21)
      • BOJ (12)
      • 요약정리 (6)
      • 과제 (3)
    • BackEnd 🌱 (13)
      • spring (13)
    • 📚study✨ (12)
      • Docker & Kubernetes (8)
      • 기타 (4)
    • ComputerScience 🐥 (8)
      • 운영체제 (0)
      • 컴퓨터네트워크 (8)
      • 데이터베이스 (0)
    • 에러 해결 👍 (6)
    • 후기 🔥 (4)
      • 세미나 (2)
      • 인턴 (0)
      • 프로젝트 (0)
    • 기타 (0)
    • 일상 (1)

인기 글

태그

  • 조합
  • EC2
  • 순열
  • 두 원 사이의 정수 쌍
  • 프로그래머스
  • 백트래킹
  • AWS
  • Python
  • 자바
  • dfs

최근 글

07-26 19:52
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
heyjinn.dev
[프로그래머스, Python] 게임 맵 최단거리
알고리즘 💻/BOJ

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

2023. 10. 24. 22:31

문제를 보자마자 전형적인 BFS 문제라고 생각했습니다. 특이할 것 없이 queue를 이용한 graph bfs문제를 풀 면 됩니다.

오타때문에 런타임 에러가 났었는데 n이랑 m 잘 확인하시길... 

from collections import deque
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]
def bfs(x,y,n,m, maps):
    q = deque([(x,y)])
    while q:
        x, y = q.popleft()
        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]
            if 0 <= nx < n and 0 <= ny < m and maps[nx][ny] == 1:
                q.append((nx, ny))
                maps[nx][ny] = maps[x][y] + 1
    return maps[n-1][m-1]
def solution(maps):
    n = len(maps)
    m=len(maps[0])
    ans = bfs(0,0, n,m, maps)
    return ans if ans > 1 else -1
저작자표시 (새창열림)
    '알고리즘 💻/BOJ' 카테고리의 다른 글
    • [프로그래머스, Python] 등굣길
    • [프로그래머스, Python] 광물 캐기
    • [프로그래머스, Python] 수식 최대화
    • [백준, Python] 18111 마인크래프트
    heyjinn.dev
    heyjinn.dev
    안녕하세요 ~ https://github.com/toki0411 부족하지만 열심히 공부중입니다 :D

    티스토리툴바