본문 바로가기
프로그래머스/Lv.0

캐릭터의 좌표 - Python, 구현

by 아찌방 2024. 11. 13.

 

 

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