✅ 이것이 코딩 테스트다 - 상하좌우
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
'✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺 > 이것이 코딩 테스트다' 카테고리의 다른 글
[TC0402] [구현] 시각 (0) | 2021.11.21 |
---|---|
[TC0302] [그리디] 큰 수의 법칙 (0) | 2021.11.16 |
[TC0301] [그리디] 거스름돈 (0) | 2021.11.16 |
[TC0304] [그리디] 1이 될 때까지 (0) | 2021.10.16 |
[TC0303] [그리디] 숫자 카드 게임 (0) | 2021.10.16 |