링크: Summer/Winter Coding(~2018) > 방문 길이
def solution(dirs):
    answer = 0
    visited = set()
    curPos = (0, 0)
    direction = {"U": (0, 1), "L": (-1, 0), "D": (0, -1), "R": (1, 0)}
    
    for command in dirs:
        dx, dy = direction[command]
        nextPos = curPos[0] + dx, curPos[1] + dy
        
        if (-5 <= nextPos[0] <= 5) and (-5 <= nextPos[1] <= 5):
            if (curPos, nextPos) not in visited:
                visited.add((curPos, nextPos))
                visited.add((nextPos, curPos))
                answer += 1
            curPos = nextPos
            
    return answer
dictionary로 만들었다.visited를 set으로 만들고 방문한 길인지 확인한다. (속도 향상)a->b로가는 길은 b->a로 가는 길과 동일하다. 따라서 두 방향을 모두 방문했다고 표시한다.answer를 증가시킨다.