프로그래머스-캐릭터의 좌표(파이썬, python)

SA Jung·2022년 10월 7일
1

Programmers 문제 풀이

목록 보기
12/14

문제 링크

GitHub 링크

1. 배열 위치 판별을 통한 알고리즘

def solution(keyinput, board):
    col = board[0]
    row = board[1]
    result = [0, 0]
    for i in keyinput:
        if i == "left" and result[0]-1 >= -(col // 2):
            result[0] -= 1
        elif i == "right" and result[0]+1 <= (col // 2):
            result[0] += 1
        elif i == "up" and result[1]+1 <= (row // 2):
            result[1] += 1
        elif i == "down" and result[1]-1 >= -(row // 2):
            result[1] -= 1
    return result
  • 배열 길이를 판별하여 가로,세로의 길이를 row, col 변수에 저장해준다.
  • 캐릭터의 초기 좌표는 (0,0)부터 시작을 하기때문에 오른쪽과 왼쪽의 길이는 같을 것이고, 위쪽과 아래쪽의 길이는 같을 것이다.
    따라서, col의 절반의 값이 왼쪽&오른쪽의 최대 길이일 것이고, row의 절반의 값이 위쪽&아래쪽의 최대 길이일 것이다.
  • keyinput의 값들을 돌며 캐릭터의 좌표를 옮기되, 캐릭터의 좌표길이가 전체 길이의 최대값을 벗어나지 않게, if문을 통해 제어해주고 좌표를 옮길수 있으면 result의 값을 증가시켜준다.
  • 최종적으로 결과값을 return해준다.
profile
Tomorrow will be better than yesterday :)

0개의 댓글