반응형
예제 4-1 상하좌우
입력조건
첫째 줄에 공간의 크기를 나타내는 n이 주어진다. (1<=n<=100)
둘째 줄에 여행가 a가 이동할 계획서 내용이 주어진다.
출력조건
첫째 줄에 여행가 a가 최종적으로 도착할 지점의 좌표(x,y)를 공백으로 구분하여 출력한다.
코드
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 ny <1 or nx > n or ny > n :
continue
x, y = nx, ny
print(x, y)
"이동" + "시뮬레이션"
dx, dy 리스트를 이용하여 L,R,U,D 방향 이동을 하게끔한다.
하나 더 생각해야 할 것은 어디까지 이동할 수 있는지 확인하 if절로 제한해줘야한다.
dx = [0,0,-1,1]
dy = [-1,1,0,0]
nx = x + dx[i]
ny = y + dy[i]
반응형
'Algorithm' 카테고리의 다른 글
python 선택정렬, 삽입정렬, 퀵정렬 (0) | 2022.02.20 |
---|---|
이것이 코딩테스트다 - 구현 파트 (0) | 2022.01.27 |
[python] 조합(nCr) 반복문과 재귀 호출을 통해 구하기 (0) | 2022.01.18 |
[python] 소인수분해, 최소 공배수 구하기 (0) | 2022.01.18 |
[python] 반복문과 재귀 호출을 사용하여 두 수의 최대 공약수 구하기 (0) | 2022.01.18 |