#오른 위 왼 아래
dx = [0, -1, 0, 1]
dy = [1, 0, -1, 0]
#반시계방향
d = 0
before = 0
x, y = p, 1
while True:
nx = x + dx[d]
ny = y + dy[d]
if nx == r or ny == c or nx == -1 or ny == -1:
d = (d+1)%4
continue
if x == p and y == 0:
break
room[x][y], before = before, room[x][y]
x, y = nx, ny
#시계방향
p = purifier[1]
#오른쪽부터 시작
d = 0
before = 0
x, y = p, 1
while True:
nx = x + dx[d]
ny = y + dy[d]
if nx == r or ny == c or nx == -1 or ny == -1:
d = (d - 1) % 4
continue
if x == p and y == 0:
break
room[x][y], before = before, room[x][y]
x, y = nx, ny
728x90
'코테 > 코딩테스트 대비 Python' 카테고리의 다른 글
백준 마법사 상어와 파이어볼 Python (0) | 2023.05.22 |
---|---|
백준 인구이동 BFS (1) | 2023.05.21 |
백준 20115 (0) | 2023.03.01 |
Union find (0) | 2023.02.23 |
플로이드 워셜 (0) | 2023.02.13 |