초보 개발자의 일기
4-1 상하좌우 본문
728x90
문제
코드
n=int(input())
a=input().split()
x,y=1,1
# L왼쪽 R오른쪽 U 위로 D 아래로
dx=[0,0,-1,1]
dy=[-1,1,0,0]
moving=['L','R','U','D']
for i in a:
for j in range (len(moving)):
if i==moving[j]:
nx=x+dx[j]
ny=y+dy[j]
if nx<1 or ny<1 or nx>n or ny>n:
continue
x,y=nx,ny
print(x,y)
문제를 풀 때 처음 안 것이 있었는데 일반적으로 x, y를 고등학교 때 알던 좌표로 설정하지 않고
x를 행 y를 열로 두고 문제를 푸는 것이었다.
dx,dy를 저렇게 설정하는 것을 처음 알게 되었다.
for문을 2개 돌려서 i에 입력한 값을 넣고
아래 for문에서 이동을 시켜주게 코드를 작성했다.
이 코드를 작성할 때 계속 오류가 나서 설루션을 보았다.
그리고 각 모서리에서 이동이 불가한 조건을 어떻게 설정하는지 몰라 시간이 꽤 걸렸다.
결국 솔루션을 보았다.
느낀 점
아직 갈 길이 멀구나 ㅜㅜ
728x90
'코딩테스트 > 이것이 코딩테스트다.(Python)' 카테고리의 다른 글
선택 정렬, 삽입 정렬 (2) | 2022.06.25 |
---|---|
5-4 미로 탈출 (2) | 2022.06.04 |
5-3 음료수 얼려먹기 (2) | 2022.06.04 |
4-4 게임 개발 (1) | 2022.06.03 |
4-3 왕실의 나이트 (1) | 2022.06.01 |