본문 바로가기

알고리즘

코딩 테스트 연습 14일

728x90

코딩 테스트 연습 14일


 

프로그래머스, 캐릭터의 좌표

 

📄 나의 코드

board = [7, 9]
keyinput = ["down", "down", "down", "down", "down"]

def solution(keyinput, board):
    cur = [0,0]
    for key in keyinput:
        if key == "left" and cur[0] > -(board[0] // 2):
            cur[0] -= 1
        elif key == "right" and cur[0] < (board[0] // 2):
            cur[0] += 1
        elif key == "up" and cur[1] < (board[1] // 2):
            cur[1] += 1
        elif key == "down" and cur[1] > -(board[1] // 2):
            cur[1] -= 1
    return cur

print(solution(keyinput, board))

 

반복되는 코드 줄일 필요 있음!

def solution(keyinput, board):
    cur = [0,0]
    x_limit = board[0] // 2
    y_limit = board[1] // 2

    for key in keyinput:
        if key == "left" and cur[0] > -x_limit:
            cur[0] -= 1
        elif key == "right" and cur[0] < x_limit:
            cur[0] += 1
        elif key == "up" and cur[1] < y_limit:
            cur[1] += 1
        elif key == "down" and cur[1] > -y_limit:
            cur[1] -= 1
    return cur

print(solution(keyinput, board))

 

'알고리즘' 카테고리의 다른 글

코딩 테스트 연습 19일  (0) 2022.12.19
코딩 테스트 연습 15일&16일  (0) 2022.12.16
코딩 테스트 연습 12일, 13일  (0) 2022.12.13
타임어택 특강  (0) 2022.12.01
자료구조 3주차_큐&해쉬  (0) 2022.11.28