입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
문제의 예시와 같습니다.
접근법
(1,0)에서 (0,1)으로 이동했다면, (0,1)에서 (1,0)으로 이동할 때, 이미 방문한 길이므로 count해서는 안됩니다. 따라서 한번 가본 길을 visited에 저장하고(만약 (1,0)에서 (0,1)으로 갔을 경우 반대 경우인(0,1),(1,0)도 visited에 함께 저장해 줍니다.) 이동할 때마다 visted에 있는지 검사하고, 없을 경우에만 count해주면 됩니다.
나의 코드
x, y = [0, 0, -1, 1 ], [1, -1, 0, 0]
d = {"U":0, "D":1, "L":2, "R":3}
def solution(dirs):
answer = 0
visited = []
position = (0,0)
for command in dirs:
i = d[command]먼
new = (position[0]+x[i],position[1]+y[i])
if (abs(new[0]) > 5) or (abs(new[1])) > 5: continue
if (position,new) not in visited:
visited.append((position,new))
visited.append((new,position))
answer += 1
position = new
return answer