728x90
반응형
# 오늘의 문제
게임 개발
# 나의 코드
Null
# 정답과의 비교
1. 오늘 문제는 정말 어떻게 시작해야할지 감이 안와서 손을 못댔다. 그렇게 해설을 보면서 조금씩 이해해서 해당 코드를 옮겨적는 수준으로 해결했다. 다음날 다음번 코테때 이 문제를 해답을 안보고 다시 도전할것이다.
n,m = map(int , input().split())
d = [[0]*m for _ in range(n)]
x,y,di = map(int , input().split())
#북동남서
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
d[x][y] = 1
array = []
for i in range(n):
array.append(list(map(int , input().split())))
def turnLeft():
global di
di -= 1
if di == -1:
di = 3
cnt = 1
turnTime = 0
while True:
turnLeft()
nx = x + dx[di]
ny = y + dy[di]
#가본적이 없거나 갈 수 있는 칸이 존재하면 이동
if d[nx][ny] == 0 and array[nx][ny] == 0:
d[nx][ny] = 1
x = nx
y = ny
cnt += 1
turnTime = 0
#가본칸이 있거나 바다인경우
else:
turnTime += 1
if turnTime == 4:
nx = x - dx[di]
ny = y - dy[di]
if array[nx][ny] == 0:
x = nx
y = ny
else:
break
turnTime = 0
print(cnt)
728x90
'프로그래밍 회고록 > Python' 카테고리의 다른 글
2021.11.13 코테_BFS 예시코드 (0) | 2021.11.13 |
---|---|
2021.11.13 코테_DFS 예시코드 (0) | 2021.11.13 |
2021.10.25 코테_왕실의 나이트 (0) | 2021.10.26 |
2021.10.25 코테_시각 (0) | 2021.10.25 |
2021.10.24 코테_상하좌우 (0) | 2021.10.24 |