문제

이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)

  • N * N 행렬 좌표
  • 가장 좌측 상단 좌표는 1,1 가장 우측 하단 좌표는 N,N 로 표기한다.
  • N 길이의 입력에는 L(left), R(right), U(up), D(down) 이 들어있다.
  • 좌표를 초과하는 이동은 무시한다.
    • 예를 들어 1,1에서 L,U를 입력 받으면 이동하지 않는다.
  • 최종 도착한 좌표를 공백 기준으로 분리하여 출력하라.
# 입력 예시
5
R R R U D D

# 출력 에시
3 4

풀이

지문에 충실하게 풀면 된다.
중요한 것은 행렬 좌표 N을 넘어가면 안되므로
그것만 신경써서 더하고 빼주면 된다.

아, 추가 주의점으로 행렬좌표 x, y는
2차원리스트(배열)과 x, y가 반대인 것에 주의하면 된다.

N = int(input())
command = input().split()
x, y = 1, 1
for c in command :
    if c == 'L' and y > 1 : y -= 1
    elif c == 'R' and y < N : y += 1
    elif c == 'U' and x > 1 : x -= 1
    elif c == 'D' and x < N : x += 1

print(x, y)

댓글남기기