코딩테스트 파이썬/파이썬 프로그래머스 2단계
방문 길이
세용용용용
2023. 7. 23. 16:49




나의 코드
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")