시뮬레이션
- 명령에 맞게 동작하는 코드를 작성하는 것
학습 콘텐츠: 인접한 칸으로 이동 - 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 |