문제
해결 과정
- 현재 위치x,y를 정의, 방문한 경로를 담는 리스트 정의, 방향을 담은 딕셔너리를 정의
- for문
- 현재 위치에서 움직였을 때 범위 안에 있는지 확인
- 움직인 경로를 저장: a에서 b로 같을 때 (a,b),(b,a) 둘 다 저장
- 현재 위치를 바꿔줌
시행착오
- 출발지점과 도착지점이 반대여도 같은 간선
(출발지점x, 출발지점y, 도착지점x, 도착지점y)
(도착지점x, 도착지점y, 출발지점x, 출발지점y)로 두가지 경우를 모두 튜플로 저장
풀이
def solution(dirs):
x,y = 0,0
visited = set()
direction = {'U':[0,1],'D':[0,-1],'R':[1,0],'L':[-1,0]}
for i in dirs:
if -5 <= x + direction[i][0] <= 5 and -5 <= y + direction[i][1] <= 5:
visited.add(((x,y),(x + direction[i][0], y + direction[i][1])))
visited.add(((x + direction[i][0], y + direction[i][1]), (x,y)))
x,y = x + direction[i][0], y + direction[i][1]
return len(visited)//2