[TC0401] [구현] 상하좌우
✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/이것이 코딩 테스트다

[TC0401] [구현] 상하좌우

이코테

✅ 이것이 코딩 테스트다 - 상하좌우

n = int(input())  # 사각형의 크기
maps = [i for i in map(str, input().split())]  # 여행자 계획
loc = {
    'L': [0, -1],
    'R': [0, 1],
    'U': [-1, 0],
    'D': [1, 0]
}

x, y = 1, 1  # 시작 좌표
for j in maps:
    if j == 'L':
        if y == 1:
            y += 0
        else:
            y += loc['L'][1]
        x += loc['L'][0]
    elif j == 'R':
        if y == n:
            y += 0
        else:
            y += loc['R'][1]
        x += loc['R'][0]
    elif j == 'U':
        if x == 1:
            x += 0
        else:
            x += loc['U'][0]
        y += loc['U'][1]
    else:
        if x == n:
            x += 0
        else:
            x += loc['D'][0]
        y += loc['D'][1]

print(x, y)

 

Implementation

◾ 여행자의 계획에 따라 상하좌우로 움직이고 마지막 값을 return하는 문제

◾ 상/하/좌/우에 맞는 값을 딕셔너리로 선언해주었다.

  • 이거는 사실 x, y 배열 두개로 선언해줘도 된다.
  • x = [0, 0, -1, 1]
  • y = [-1, 1, 0, 0] 이런식으로

◾ 여행자 계획에 따른 반복문들 돌리고 상하좌우에 맞는 조건문을 생성하면 된다.

 

 

 

 

 


 

728x90