프로그래머스 키패드 누르기(2020

쉬운 목차

해결


구현 문제였습니다.

딕셔너리 같은 자료구조로 자판을 구현한 후 거리를 구하고 조건에 따라 코드를 작성할 수 있습니다.

def solution(numbers, hand):
    answer=""
    leftPos="*"
    rightPos="#"

    phone = {
        1: (0, 0), 2: (0, 1), 3: (0, 2),
        4: (1, 0), 5: (1, 1), 6: (1, 2),
        7: (2, 0), 8: (2, 1), 9: (2, 2),
        '*': (3, 0), 0: (3, 1), '#': (3, 2)
    }

    for num in numbers:
        if num == 1 or num == 4 or num == 7 or num == '*':
            answer += 'L'
            leftPos = num
        elif num == 3 or num == 6 or num == 9 or num == '#':
            answer += 'R'
            rightPos = num
        else:
            leftDis = abs(phone(leftPos)(0) - phone(num)(0)) + abs(phone(leftPos)(1) - phone(num)(1))
            rightDis = abs(phone(rightPos)(0) - phone(num)(0)) + abs(phone(rightPos)(1) - phone(num)(1))
            if leftDis < rightDis:
                answer += 'L'
                leftPos = num
            elif rightDis < leftDis:
                answer += 'R'
                rightPos = num
            else:
                if hand == "right":
                    answer += 'R'
                    rightPos = num
                else:
                    answer += 'L'
                    leftPos = num

    return answer

링크


https://school.programmers.co.kr/learn/courses/30/lessons/67256

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr