방문 길이

발자·2023년 6월 8일
0

programmers

목록 보기
30/34

문제

def solution(dirs):
    # 4가지 명령어
    udrl = {'U':(0, 1), 'D':(0, -1), 'R':(1, 0), 'L':(-1, 0)}
    # 처음 걸어본 길
    answer = set()
    # 초기 위치
    x, y = 0, 0
    for d in dirs:
        # 이동
        (dx, dy) = udrl[d]
        nx, ny = x+dx, y+dy
        # 범위 내에 있는지 확인
        if -5 <= nx <= 5 and -5 <=  ny <= 5:
            if d == 'U' or d == 'L':
                answer.add("".join([str(i) for i in [x, y, nx, ny]]))
            else:
                answer.add("".join([str(i) for i in [nx, ny, x, y]]))
            x, y = nx, ny
        
    return len(answer)

0개의 댓글