프로그래머스 1844. 게임 맵 최단거리

2025. 1. 17. 20:12·프로그래머스

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

 

프로그래머스

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

programmers.co.kr

from collections import deque

def solution(maps):
    n = len(maps[0])  # 열의 크기
    m = len(maps)  # 행의 크기
    visited = [[0] * n for _ in range(m)]  # n x m 크기의 방문 배열
    
    def bfs(start):
        q = deque([start])
        visited[start[0]][start[1]] = 1  # 시작점 방문 처리
        
        while q:
            x, y = q.popleft()
            
            # 네 방향으로 이동
            for dx, dy in [[1, 0], [-1, 0], [0, -1], [0, 1]]:
                nx, ny = x + dx, y + dy
                # 맵 내부에 있는지 확인 & 방문 여부 확인 & 이동 가능 여부 확인
                if 0 <= nx < m and 0 <= ny < n and not visited[nx][ny] and maps[nx][ny] == 1:
                    visited[nx][ny] = visited[x][y] + 1
                    q.append([nx, ny])
                    # 도착 지점에 도달했으면 결과 반환
                    if nx == m - 1 and ny == n - 1:
                        return visited[nx][ny]
        return -1  # 도달할 수 없는 경우

    return bfs([0, 0])  # 시작점은 (0, 0)에서 시작
저작자표시 (새창열림)

'프로그래머스' 카테고리의 다른 글

프로그래머스 87946. 피로도  (0) 2025.01.18
프로그래머스 43163. 단어 변환  (0) 2025.01.17
프로그래머스 43165. 타겟 넘버  (0) 2025.01.15
프로그래머스 84512. 모음사전  (0) 2025.01.15
프로그래머스 42839. 소수 찾기  (0) 2025.01.14
'프로그래머스' 카테고리의 다른 글
  • 프로그래머스 87946. 피로도
  • 프로그래머스 43163. 단어 변환
  • 프로그래머스 43165. 타겟 넘버
  • 프로그래머스 84512. 모음사전
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (381)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (1)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    항해99
    개발자취업
    Til
    99클럽
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
프로그래머스 1844. 게임 맵 최단거리
상단으로

티스토리툴바