본문 바로가기

Personal/Algorithm

코드트리 dx,dy 테크닉

시뮬레이션

  • 명령에 맞게 동작하는 코드를 작성하는 것

 

학습 콘텐츠: 인접한 칸으로 이동 - dx, dy 테크닉

1. 문제

(x, y) 위치에서 시작하여 한 칸 이동하려 합니다.
숫자 0이 주어지면 동쪽으로, 
숫자 1이 주어지면 남쪽으로,
숫자 2가 주어지면 서쪽으로, 
숫자 3이 주어지면 북쪽으로 이동하려 합니다.

 

2. 예시 답변 코드

dir_num = 2 # 주어진 방향이 서쪽인 경우
x, y = 1, 5 # 현재 위치가 (1, 5)인 경우

if dir_num == 0:
    nx, ny = x + 1, y
elif dir_num == 1:
    nx, ny = x, y - 1
elif dir_num == 2:
    nx, ny = x - 1, y
else:
    nx, ny = x, y + 1

dx와 dy값을 위와 같이 정하면 다른 코드를 작성할 수 있다.

3. dx, dy 설정했을 때 예시 코드

dir_num = 2 
x, y = 1, 5
dx, dy = [1, 0, -1, 0], [0, -1, 0, 1]

if dir_num == 0:
    nx, ny = x + dx[0], y + dy[0]
elif dir_num == 1:
    nx, ny = x + dx[1], y + dy[1]
elif dir_num == 2:
    nx, ny = x + dx[2], y + dy[2]
else:
    nx, ny = x + dx[3], y + dy[3]

4. 깔끔한 코드

dir_num = 2 
x, y = 1, 5
dx, dy = [1, 0, -1, 0], [0, -1, 0, 1]

nx, ny = x + dx[dir_num], y + dy[dir_num]

'Personal > Algorithm' 카테고리의 다른 글

2차원 배열 이해하기 Python  (0) 2023.10.04
그리디(Greedy)  (0) 2022.07.03