내가 아는 x좌표와 y좌표가 아니라서 처음에 헤맸다.
n = int(input())
array = list(input().split())
x, y = 1, 1
for i in range(len(array)):
if array[i] == 'R' and y < 5:
y += 1
if array[i] == 'L' and y > 1:
y -= 1
if array[i] == 'U' and x > 1:
x -= 1
if array[i] == 'D' and x < 5:
x += 1
print(x, y)
이렇게 풀어도 답이 나오긴 하는데, 풀이가 훨씬 체계적인 것 같아 풀이를 보고 공부하려고 한다.
n = int(input())
x, y = 1, 1
plans = input().split() # plans는 리스트이다.
# L, R, U, D에 따른 이동 방향
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
# 1, -1은 한 칸씩 옮기는 것을 의미한다.(방향을 다르게)
move_types = ['L', 'R', 'U', 'D']
# 이동 계획을 하나씩 확인
# 굳이 for plan in len(plan)라고 쓰고 인덱쓰로 접근할 필요가 없었다.
for plan in plans:
# 이동 후 좌표 구하기
for i in range(len(move_types)):
# 이중 for문을 돌면서 어떤 이동 방향을 가졌는지 구한다.
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)