티스토리 뷰
728x90
문제
1697번: 숨바꼭질
수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일
www.acmicpc.net
풀이
계속 indexerror 가 뜨길래 한참을 고민했는데
두번 째 if문에서 i의 범위를 i<=100000 로 해줬더니 발생한 문제 !!
-1, -2, -3.. 일때도 배열 인덱스 값으로 넣어줬으니 당연히 indexerror가 뜨는 것이었다 ㅠㅠ
num배열에 방문표시를 하며 단계적으로(bfs) 방문해서 결과값을 출력하게 했다 !
소스코드
from collections import deque
def bfs():
ans = -1
que = deque()
que.append(n)
while que:
ans+=1
for _ in range(len(que)):
x = que.popleft()
if x == k:
return ans
for i in (x-1, x+1, x*2):
if 0<=i<=100000 and num[i]==0:
num[i]=1
que.append(i)
n, k = map(int, input().split())
num = [0]*100001
num[n]=1
print(bfs())
반응형
'Coding - Algo > python' 카테고리의 다른 글
[백준] 4963번:섬의 개수 (python 파이썬) (0) | 2021.02.16 |
---|---|
[백준] 1012번:유기농 배추 (python 파이썬) (0) | 2021.02.15 |
[백준] 7576번:토마토 (python 파이썬) (0) | 2021.02.10 |
[백준] 2667번:단지번호붙이기 (python 파이썬) (0) | 2021.02.09 |
[백준] 2178번:미로 탐색 (python 파이썬) (0) | 2021.02.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- swea 1240
- yoloV3
- 삼성청년SW아카데미
- 백준 17144
- 프로그래머스 파이썬
- 백준 dp 문제
- 파이썬 풀이
- 백준 풀이
- swea 타일링
- swea 1240 자바
- swea 4070 타일링
- 더 맵게
- 1240 자바
- union-find
- 프로그래머스 자바
- ubuntu
- 우분투
- 파이썬
- 메뉴리뉴얼 풀이
- 1699 자바
- 타일링 자바
- 프로그래머스
- 백준
- 프로그래머스 더 맵게
- 3996 자바
- SSAFY
- SWEA
- swea 타일링 자바
- poker swea
- 백준파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함