https://school.programmers.co.kr/learn/courses/30/lessons/120861?language=python3
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 - 나의 생각
간단한 구현 문제입니다.
딕셔너리를 통해 해당 키보드에 맞는 움직임을 저장해두고
범위안에서만 움직이게 하면 됩니다.
코드
def solution(keyinput, board):
x, y = 0, 0
minX, maxX = -(board[0]//2), board[0]//2
minY, maxY = -(board[1]//2), board[1]//2
direct = {"up":(0,1),"down":(0,-1),"left":(-1,0),"right":(1,0)}
for key in keyinput:
dx = x + direct[key][0]
dy = y + direct[key][1]
if minX <= dx <= maxX and minY <= dy <= maxY:
x = dx
y = dy
return [x, y]
def solution(keyinput, board):
x, y = 0, 0
maxX, maxY = board[0] // 2, board[1] // 2
direct = {"up":(0,1),"down":(0,-1),"left":(-1,0),"right":(1,0)}
for key in keyinput:
dx, dy = direct[key]
x = max(-maxX, min(maxX, x + dx))
y = max(-maxY, min(maxY, y + dy))
return [x, y]
728x90
'프로그래머스 > Lv.0' 카테고리의 다른 글
배열 두 배 만들기 - C++, vector, 참조(&), 반복문 (0) | 2025.02.22 |
---|---|
문자 개수 세기 - Python, ord (0) | 2024.11.24 |
평행 - Python, 기울기, 비구조화 할당 (1) | 2024.11.13 |
안전지대 - Python, 구현, set (0) | 2024.11.13 |
최빈값 구하기 - Python, Counter (0) | 2024.11.11 |