728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/120861
내 풀이
def solution(keyinput, board):
# 첫 시작은 0, 0
answer = [0, 0]
lim_x, lim_y = board[0]//2, board[1]//2
direction = {'up' : [0, 1], 'down' : [0, -1], 'left' : [-1, 0], 'right' : [1, 0]}
for i in keyinput:
dx, dy = direction[i]
# 만약 이동 후의 x좌표 값이 맵 가로 길이의 반보다 크거나,
# 이동 후의 y좌표 값이 맵 세로 길이의 반보다 크면 수행하지 않고 넘어감
# -> 키 입력을 받아도 좌표가 이동되지 않음
if abs(answer[0] + dx) > lim_x or abs(answer[1]+dy) > lim_y:
continue
else:
answer[0] += dx
answer[1] += dy
return answer
다른 사람의 풀이를 살짝 참고하고 풀었던 문제였다.
저번에 풀었던 문제랑 비슷한 문제여서 비슷한 방향성을 갖고 풀어보았다.
2024.02.19 - [코딩테스트/PYTHON] - [프로그래머스][PYTHON] Lv. 0 정수를 나선형으로 배치하기
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[프로그래머스][PYTHON] Lv. 0 다항식 더하기 (0) | 2024.03.14 |
---|---|
[프로그래머스][PYTHON] Lv. 0 최댓값 만들기 (2) (0) | 2024.03.13 |
[프로그래머스][PYTHON] Lv. 0 직사각형 넓이 구하기 (0) | 2024.03.11 |
[프로그래머스][PYTHON] Lv. 0 OX퀴즈 (0) | 2024.03.08 |
[프로그래머스][PYTHON] Lv. 0 문자열 계산하기 (0) | 2024.03.06 |