Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

우주에서 글을 적어본다

99클럽 코테 스터디 35일차 TIL + BFS 본문

항해99 TIL

99클럽 코테 스터디 35일차 TIL + BFS

우주로 날아간 사람 2024. 8. 25. 17:15

[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "게임 맵 최단거리" 문제를 풀었다.
- 오늘 주제는 BFS 넓이 우선 탐색이다. 
- 기본적인 문제였던 것 같다.

[나의 코드]

from collections import deque

def solution(maps):
    n, m = len(maps), len(maps[0])
    
    q = deque()
    q.append((0, 0))
    
    dx = [-1, 0, 1, 0]
    dy = [0, 1, 0, -1]

    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:
                if maps[nx][ny] == 1:
                    maps[nx][ny] = maps[x][y] + 1
                    q.append((nx, ny))
    
    if maps[n - 1][m - 1] > 1:
        return maps[n - 1][m - 1]
    else:
        return -1

너무 기본적인 문제라 할 말이 없다.
가장 중요한 것은 풀이를 보지 않고도 짤 수 있어야 한다는 것이다. 그럼 20000

[오늘의 회고]
- 오늘도 바쁘다. 끝!