본문 바로가기
알고리즘/leetcode&프로그래머스

구현 알고리즘 - 상하좌우

by 윤-찬미 2020. 11. 26.

문제설명

풀이 

def trevel(a,move):
  move = list(move)
  x = 1
  y = 1
  for i in move:
    if i == 'R':
      if y != a:
        y+=1
    if i == 'L':
      if y!=1:
        y-=1
    if i == 'U':
      if x != 1:
        x-=1
    if i == 'D':
      if x!= a:
        x+=1
    
  return (x,y)
def trevel(a,move):
  move = list(move)
  x = 1
  y = 1

  dx = [0,0,-1,1]
  dy = [-1,1,0,0]
  move_types = ['L','R','U','D']

  for plan in move:
    for i in range(len(move_types)):
      if plan == move_types[i]:
        nx = x + dx[i]
        ny = y + dy[i]
      if nx < 1 or ny < 1 or nx > a or ny> a:
        continue
      x,y = nx,ny
  
  return (x,y)