Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 99클럽
- 10430번
- 파이썬 |
- Til
- 파이썬
- 개발자스터디
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
- 항해
- 코딩부트캠프후기
- 파이썬 map 함수
- not a git repository
- 99일지
- 항해99
- MomentumParameters
- print("""
- 백준
- 파이썬 클래스
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- 항해플러스
- 파이썬 int()
- fatal:not a git repository
- 파이썬 sep
- 개발자사이드프로젝트
- print sep
- 코딩테스트
- 주니어개발자역량강화
- vscode cp949
- cp949
- EnvCommandError
- 주니어개발자멘토링
Archives
- Today
- Total
선발대
[스파르타] 99클럽 2기 코테스터디 12일차 TIL / 게임 맵 최단거리 본문
프로그래머스: 게임 맵 최단거리 (링크)
동, 서, 남, 북으로 1칸씩 이동하고 최단거리를 구하는 문제여서 바로 BFS로 풀었다. 다만 처음에 문제를 잘못 이해해서 n, m이 예시 문제에 있는 5로 고정되어 있는 줄 알았고 결국 다시 풀었다. 주어지는 건 2차원 배열인 maps 뿐이라 행과 열의 개수를 직접 구해야 했다. BFS 문제는 전형적인 틀이 있는데 거기에서 크게 벗어나는 부분이 없었다. 최단 거리를 구해야 하므로 그냥 바로 직전 지점의 +1 값을 계속 갱신하는 부분만 추가했다.
다른 사람들의 풀이를 보니까 다들 BFS로 거의 비슷하게 풀었는데 제일 상단에 이상한 코드가 하나 있었다. 무조건 프로그래머스의 모든 문제를 통과하게 만드는 코드라고 하는데 지금은 막힌 것 같지만 어떻게 알았는지 궁금하다.
## 내 풀이
from collections import deque
def solution(maps):
dx = [0, 1, 0, -1]
dy = [1, 0, -1, 0]
maps_rows = len(maps)
maps_cols = len(maps[0])
visited = [[False] * maps_cols for _ in range(maps_rows)]
queue = deque()
queue.append((0, 0))
visited[0][0] = True
while queue:
now = queue.popleft()
for k in range(4):
x = now[0] + dx[k]
y = now[1] + dy[k]
if x >= 0 and y >= 0 and x < maps_rows and y < maps_cols:
if maps[x][y] != 0 and not visited[x][y]:
visited[x][y] = True
maps[x][y] = maps[now[0]][now[1]] + 1
queue.append((x, y))
answer = maps[maps_rows-1][maps_cols-1]
# 도달하지 못한 경우
if answer == 1:
return -1
return answer
## 다른 사람의 풀이
class ALWAYS_CORRECT(object):
def __eq__(self,other):
return True
def solution(a):
answer = ALWAYS_CORRECT()
return answer;
'스파르타코딩클럽 > 활동 내용' 카테고리의 다른 글
[스파르타] 99클럽 2기 코테스터디 14일차 TIL / leet 797 (0) | 2024.06.02 |
---|---|
[스파르타] 99클럽 2기 코테스터디 13일차 TIL / leet 1302 (0) | 2024.06.01 |
[스파르타] 99클럽 2기 코테스터디 11일차 TIL / 타겟 넘버 (0) | 2024.05.30 |
[스파르타] 99클럽 2기 코테스터디 10일차 TIL / 소수 찾기 (0) | 2024.05.29 |
[스파르타] 99클럽 2기 코테스터디 9일차 TIL / 카펫 (0) | 2024.05.28 |
Comments