[이코테] 상하좌우

2023. 3. 5. 15:48Algorithm

솔직히 처음에 어려워서 책 닫고 다른 백준문제를 좀 풀어봤다. 뭔가 직접적으로 사용한건 아니지만 백준 단계별로 풀어보기 2중 배열쪽을 풀다보다 갑자기 생각나서 풀게 되었다....

 

문제 조건

 

시작지점은 1, 1로 고정으로 오른쪽 하단 값은 (n , n) 값으로 고정한다.  n 값을 넘어가면 안된다.

n 값은 첫번째 줄에 입력 받는다.

이동 데이터 값은 두번째 줄에 받는다.

n = int(input())

move_l = list(map(str, input().split()))

point = {
  'L' : (0, -1),
  'R' : (0, 1),
  'U' : (-1, 0),
  'D' : (1, 0)
}

start = [1, 1]
for i in move_l:
  p0 = start[0] + point[i][0]
  p1 = start[1] + point[i][1]
  if 1 <= p0 <= n and 1 <= p1 <= n:
    start = [p0, p1]

print(start[0], start[1])

'Algorithm' 카테고리의 다른 글

[이코테] 왕실의 나이트  (0) 2023.03.27
[이코테] 시각  (0) 2023.03.26
[1978 - 파이썬] - 소수 찾기  (0) 2023.03.04
[2839 - 파이썬] - 설탕배달  (0) 2023.02.22
[2775번 - 파이썬] - 부녀회장이 될테야  (0) 2023.02.22