PS/프로그래머스

키패드 누르기 (lv1)

ForteQook 2022. 7. 2. 10:37

기준이 되는 두 좌표가 있고, 다음 목표 좌표에 더 가까운 거리에 위치한 기준 좌표를 옮기는 간단한 문제이다.


연산자

10. Python에서 제공하는 연산자 – 언제나 휴일 (ehpub.co.kr)

 

10. Python에서 제공하는 연산자 – 언제나 휴일

안녕하세요. 언휴예요. 이번에는 Python에서 제공하는 연산자들을 간략하게 살펴볼게요. Python에서 제공하는 연산자 종류에는 산술, 비교, 대입, 논리, 비트, 멤버쉽, 참조 비교 연산자가 있어요.

ehpub.co.kr


코드

def solution(numbers, hand):
    answer = ''
    thumb = {"left":(3,0),"right":(3,2)}
    result = []
    for num in numbers :
        numLoc = (3,1) if num == 0 else ((num-1)//3,(num-1)%3)
        if num in [1,4,7] :
            result.append('L')
            thumb['left'] = numLoc
        elif num in [3,6,9] :
            result.append('R')
            thumb['right'] = numLoc
        else :
            dl = abs(thumb['left'][0]-numLoc[0])+abs(thumb['left'][1]-numLoc[1])
            dr = abs(thumb['right'][0]-numLoc[0])+abs(thumb['right'][1]-numLoc[1])
            if dl > dr :
                result.append('R')
                thumb['right'] = numLoc
            elif dl < dr :
                result.append('L')
                thumb['left'] = numLoc
            else :
                result.append((hand.capitalize())[0])
                thumb[hand] = numLoc
    answer = ''.join(result)
    return answer

'PS > 프로그래머스' 카테고리의 다른 글

완주하지 못한 선수 (lv1)  (0) 2022.07.03
소수 만들기 (lv1)  (0) 2022.07.03
숫자 문자열과 영단어 (lv1)  (0) 2022.07.01
신규 아이디 추천 (lv1)  (0) 2022.07.01
로또의 최고순위와 최저순위 (lv1)  (0) 2022.06.30