본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

방문 길이

by 세용용용용 2023. 7. 23.

나의 코드

def solution(dirs):
    answer = 0
    #현재위치
    x,y = 0,0
    #상하좌우 움직이는 위치 담은 딕셔너리
    dict_dirs = {'U':[0,1], 'D':[0,-1], 'L':[-1,0], 'R':[1,0]}
    #이동경로 리스트
    pass_list = []

    #dirs이동 for문 돌림
    for i in dirs:
        #만약 좌표범위 -5,5 를초과시 continue
        if (abs(x+dict_dirs[i][0]) > 5) or (abs(y+dict_dirs[i][1]) > 5):
            continue
       
        #움직인 리스트 정의후 정렬해줌
        move_list = [[x,y], [x+dict_dirs[i][0], y+dict_dirs[i][1]]]
        move_list.sort()

        #만약 이동경로 리스트에 움직인 리스트가 없으면 answer증감
        #이동경로에 움직인 리스트 넣어줌
        if move_list not in pass_list:
            pass_list.append(move_list)
            answer+=1

        #현재위치 변경
        x,y = x+dict_dirs[i][0], y+dict_dirs[i][1]
    #print(answer)    
    return answer
solution("ULURRDLLU")

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

스킬트리  (0) 2023.07.28
게임 맵 최단거리  (0) 2023.07.26
땅따먹기  (0) 2023.07.22
주식가격  (0) 2023.07.21
오픈채팅방  (0) 2023.07.21