728x90
문제풀이
# 공간의 크기 입력
n = int(input())
# 이동할 계획서 내용 입력
plans = input().split()
#초기 좌표
x,y=1,1
# L,R,U,D에 따른 이동 방향
# dx는 행들이므로 y축 이동
# dy는 열들이므로 x축 이동
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move_types=['L','R','U','D']
# 입력받은 plans의 수 만큼
for plan in plans:
#현재 plan과 move_types를 비교하면서
for i in range(len(move_types)):
# plan과 현재 move_types가 같으면 수행!
if plan == move_types[i]:
# dx, dy 만큼 이동 후의 좌표 구하기
nx = dx[i]+x
ny = dy[i]+y
# 공간을 벗어나는 경우
# if문 밑의 x,y 이동을 하지 않고 무시(다음 반복으로 이동)
if nx<1 or ny<1 or nx>n or ny>n:
continue
# 좌표 이동 수행
x,y=nx,ny
print(x,y)
728x90
'📁 코딩테스트 준비 > Python' 카테고리의 다른 글
[그리디/python]백준 2875번 대회 or 인턴 (0) | 2023.04.28 |
---|---|
[그리디/python]백준 11047번 동전 0 (0) | 2023.04.28 |
[그리디 / python] 곱하기 혹은 더하기 (0) | 2022.11.11 |
[그리디 / python] 모험가 길드 (0) | 2022.11.11 |
[그리디 / python] 1이 될 때까지 (0) | 2022.11.11 |