[예제1] 거스름돈
✔문제
여행가 A는 N x N 크기의 정사각형 공간 위에 서있다. 이곳은 1X1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1,1)이고, 가장 오른쪽 아래 좌표는(N,N)이다.
- L 왼쪽 한 칸, R 오른쪽 한 칸, U 위로 한 칸, D 아래로 한 칸
ex) 5
R R R U D D -> 3 4 출력
도착할 지점의 좌표를 출력해라.
[답안 예시]
n=int(input())
x,y = 1,1
plans = input().split()
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move_types = ['L','R','U','D']
for plan in plans:
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>n or ny >n:
continue
x,y = nx,ny
print(x,y)
📌 dx, dy를 위 형태로 나타낼 수 있음을 새로 알았다.
즉 'L'은 (0,-1)의 이동을 'R'은 (0,1)의 이동을 하는데, 위와 같이 나타내면 쉽게 반복문으로 값을 알아낼 수 있다.
@이것이 코딩 테스트다 with 파이썬