초보 개발자의 일기

4-1 상하좌우 본문

코딩테스트/이것이 코딩테스트다.(Python)

4-1 상하좌우

판다꼬마 2022. 5. 31. 23:50
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