프로그래머스. 방문 길이 파이썬 풀이

minan·2021년 6월 28일
0

프로그래머스

목록 보기
73/92

프로그래머스. Level 2. 방문 길이 파이썬 풀이

문제링크 https://programmers.co.kr/learn/courses/30/lessons/49994



def solution(dirs):
    answer = 0
    
    # 걸어본 길을 담을 배열
    array = []
    
    # 처음 위치 0,0
    x, y = 0, 0
    
    # 길을 담을 때 양방향을 모두 고려하여 배열에 추가한다.
    for s in dirs:
        if s == 'U':
            if y+1 > 5:
                continue
            y += 1
            array.append((y, x, y-1, x))
            array.append((y-1, x, y, x))
        elif s == 'D':
            if y-1 < -5:
                continue
            y -= 1
            array.append((y, x, y+1, x))
            array.append((y+1, x, y, x))
        elif s == 'L':
            if x-1 < -5:
                continue
            x -= 1
            array.append((y, x, y, x+1))
            array.append((y, x+1, y, x))
        else:
            if x+1 > 5:
                continue
            x += 1
            array.append((y, x, y, x-1))
            array.append((y, x-1, y, x))

    # set을 이용해 중복을 제거한다.
    array = set(array)
    
    # 양방향을 고려했기 때문에 배열의 크기에 2를 나눠 리턴 
    return len(array)/2
profile
https://github.com/minhaaan

0개의 댓글