티스토리 뷰

def solution(numbers, hand):
    answer = ''
    key_dic = { 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)}

    lastL = '*'
    lastR = '#'

    for n in numbers:
        if n in [1,4,7]:
            answer += 'L'
            lastL = n

        elif n in [3,6,9]:
            answer += 'R'
            lastR = n

        else:
            distL = abs(key_dic[n][0]-key_dic[lastL][0])+abs(key_dic[n][1]-key_dic[lastL][1])
            distR = abs(key_dic[n][0]-key_dic[lastR][0])+abs(key_dic[n][1]-key_dic[lastR][1])
            if distL < distR:
                answer += 'L'
                lastL = n
            elif distR < distL:
                answer += 'R'
                lastR = n
            else:
                if hand == 'right':
                    answer += 'R'
                    lastR = n
                else:
                    answer += 'L'
                    lastL = n
    return answer

-딕셔너리를 이용한 2차함수

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함