https://school.programmers.co.kr/learn/courses/30/lessons/120861
📝 내가 작성한 코드
def solution(keyinput, board):
answer = []
# 위 아래 왼쪽 오른쪽 이동방향
dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]
move_type = ["up", "down", "left", "right"]
# 초기 위치
x,y = 0,0
n,m = int(board[0]//2), int(board[1]//2)
for i in keyinput:
for move in range(len(move_type)):
if i == move_type[move]:
nx = x+dx[move]
ny = y+dy[move]
# board를 벗어나는 경우 무시한다 (음수인 경우도 비교해야 하기 때문에 절대값 함수 사용)
if abs(nx) > abs(n) or abs(ny) > abs(m):
continue
# 좌표를 이동한다
x,y = nx,ny
return [x,y]
'개발 > 코딩테스트' 카테고리의 다른 글
[Softeer] 연탄 배달의 시작 (0) | 2024.02.24 |
---|---|
[Softeer] 위험한 효도 (0) | 2024.02.22 |
[Softeer] 근무 시간 (0) | 2024.02.22 |
[프로그래머스] 모의고사 (0) | 2024.02.22 |
[프로그래머스] 배열 조각하기 (0) | 2024.02.15 |