[이코테] 구현 예제

4403 단어 이코테구현구현

문제 출처:

이코테 예제 4-1 상하좌우

코드

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 nx > N or ny < 1 or ny > N:
    continue
  x,y=nx,ny


print(x,y)

풀이

이러한 문제는 일련의 명령에 따라서 개체를 차례대로 이동시킨다는 점에서 시뮬레이션 유형으로 분류되며 구현이 중요한 대표적인 문제 유형이다.

여기에 사용된 move_types=['L','R','U','D']에 따라 dx = [0,0,-1,1] dy = [-1,1,0,0] 를 조건문에 넣어 이동시키는 아이디어가 필요했다.

느낀점

구현 문제는 문제의 이해가 어렵진 않지만 길기 때문에 조건들을 빠짐 없이 체크하는 습관을 잘 들여야 한다. 여기에 약간의 아이디어만 겸하면 쉽게 풀 수 있는 난이도가 낮은 문제니 꼭 맞추도록 해야 한다.

좋은 웹페이지 즐겨찾기