def solution(dirs):
x = 0
y = 0
dx=[0,0,-1,1]
dy=[-1,1,0,0]
# 상 0 하 1 좌 2 우 3
d = {"U":0, "D":1, "L":2, "R":3}
visited=[]
count=0
for dir in dirs:
go = d[dir]
nx = x + dx[go]
ny = y + dy[go]
if nx >= -5 and ny >= -5 and nx <= 5 and ny <=5:
if (x, y, nx, ny) not in visited:
visited.append((x, y, nx, ny))
visited.append((nx, ny, x, y))
count+=1
else:
continue
x, y = nx, ny
return count
dirs="LULLLLLLU"
print(solution(dirs))
'코딩 테스트 > 문제 풀기' 카테고리의 다른 글
[프로그래머스] 최솟값 만들기 (0) | 2021.03.22 |
---|---|
[프로그래머스] 피보나치 수 (0) | 2021.03.22 |
[프로그래머스] 이진 변환 반복하기 (0) | 2021.03.15 |
[프로그래머스] 최댓값과 최솟값 (0) | 2021.03.15 |
[프로그래머스] 숫자의 표현 (0) | 2021.03.15 |
댓글