백준 14940번 [파이썬]

2022. 9. 25. 23:26· Algorithm/백준
반응형

최단거리 구하기 문제

당연하게도 DFS로 풀었다.

처음에 while문에 무한반복되면 자동으로 멈추라고 적당히 종료조건 넣었다가.... 까먹고 

"맞는거같은데.. 뭐지?" 하면서 삽질했다...

꾸준히 코딩안한 벌인듯... 

 

from collections import deque

dq= deque([])

n,m= map(int, input().split())
arr=[list(map(int, input().split())) for _ in range(n)]
visit=[[0]*m for _ in range(n)]
result=[[0]*m for _ in range(n)]

def range_out(x,y):
    if x<0 or x>=n or y<0 or y>=m or arr[x][y]==0 or visit[x][y]==1:
        return False
    return True

xs=[1,-1,0,0]
ys=[0,0,1,-1]

for i in range(n):
    for j in range(m):
        if arr[i][j]==2:
            dq.append([i,j])
            visit[i][j]=1
            result[i][j]=0

while dq:
    x,y=dq.popleft()
    for dx,dy in zip(xs,ys):
        r,c=x+dx,y+dy
        if range_out(r,c):
            result[r][c]=result[x][y]+1
            dq.append([r,c])
            visit[r][c]=1

for i in range(n):
    for j in range(m):
        if visit[i][j]==0 and arr[i][j] ==1:
            result[i][j]=-1


for i in range(n):
    print(*result[i])

코드 훈수 환영합니다!!

반응형

'Algorithm > 백준' 카테고리의 다른 글

백준 12865번 [파이썬]  (0) 2022.09.25
'Algorithm/백준' 카테고리의 다른 글
  • 백준 12865번 [파이썬]
comoZ
comoZ
인공지능 개발자 지망생입니다!
comoZ/이호준 - 일지인공지능 개발자 지망생입니다!
반응형
comoZ
comoZ/이호준 - 일지
comoZ
전체
오늘
어제
  • 분류 전체보기 (78)
    • 일지 (15)
    • Algorithm (5)
      • 자료구조와 알고리즘 (2)
      • 백준 (2)
      • 이것이 코딩테스트다 with 파이썬 (1)
    • Development studies (25)
      • java (2)
      • spring (9)
      • python (1)
      • 군장병 sw개발 (6)
      • kaggle (2)
    • ai (5)
      • 혼자 공부하는 머신러닝+딥러닝 (1)
    • 수학 (0)
      • 선형대수학 (0)
      • 집합론 (0)
    • CS (0)
      • computer architecture (0)
    • Toy Projects (2)
    • 자격증 (4)
    • Reviews (18)
    • Others (3)
    • 네이버 부스트 캠프 - AI (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 2024 공지!
  • 으아
  • 대체불가 인공지능 개발자를 목표로 하는 이호준입니다.

인기 글

태그

  • 삼항연산자
  • ai역량강화
  • sw개발
  • 초급1
  • 코드트리조별과제
  • dfs
  • downcasting
  • Pyinstaller
  • 스택
  • 다운캐스팅
  • 코딩테스트
  • 미로 찾기 강화학습
  • Tkinter
  • Stack
  • 군 장병 맞춤
  • Groom
  • kakaoenterprise
  • reinforcement learning
  • Q learning
  • queue
  • 코드트리
  • 큐
  • stackoverflow
  • qu
  • final
  • openpyxl
  • 그래프 탐색
  • BFS
  • sw역량강화

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
comoZ
백준 14940번 [파이썬]
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.