-코드
from collections import deque
def bfs(x, y):
queue = deque([[x, y]])
while queue:
x, y = queue.popleft()
if arr[x][y] == -1:
return True
for i in range(2):
X, Y = x + (i * arr[x][y]), y + ((1 - i) * arr[x][y])
if 0 <= X < n and 0 <= Y < n and not visited[X][Y]:
visited[X][Y] = True
queue.append([X, Y])
return False
n = int(input())
arr = [list(map(int, input().split())) for _ in range(n)]
visited = [[False] * n for _ in range(n)]
if bfs(0, 0):
print('HaruHaru')
else:
print('Hing')
처음에는 문제를 이해를 못 해서 읽다가 포기하고 다음에 다시 보니 이해가 되어서 해결을 하려고 기본 틀을 가지고 코딩을 하였으나 좌표로 되어있어서 처음이라 바로 막혔습니다. 그래서 이유를 알아보니 그냥 좌표를 큐에 넣어서 풀면 되는 것을 깨닫고 코딩을 했으나 큐에 [x, y]로 입력을 해서 오류가 나서 고쳐서 해결하고 for문 부분에서 오류가 나서 찾아보니 범위 문제여서 해결을 하였으나 너무 많이 참고를 해서 아쉬운 문제였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 이상한 문자 만들기 (0) | 2022.01.01 |
---|---|
[백준/파이썬] 23805번 골뱅이 찍기 - 돌아간 ㄹ (0) | 2022.01.01 |
[백준/파이썬] 23802번 골뱅이 찍기 - 뒤집힌 ㄱ (0) | 2021.12.31 |
[백준/파이썬] 2606번 바이러스 (0) | 2021.12.30 |
[백준/파이썬] 23812번 골뱅이 찍기 - 돌아간 ㅍ (0) | 2021.12.30 |