ALGORITHM/Kakao

[Python] 키패드 누르기

김쿸후 2021. 9. 30. 23:54

1. 문제

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

 

코딩테스트 연습 - 키패드 누르기

[1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL"

programmers.co.kr

 

2. 풀이

- r - 1 % 3 하면 1 % 3 이 먼저 계산된다.

- 이거로 뻘짓함.. 바보임..  

 

3. 코드 

def solution(numbers, hand):
    answer = ''
    l = 10
    r = 12
    for i in numbers:
        if i == 0 : 
            i = 11
        if (i == 1 or i == 4 or i == 7): 
            answer = answer +'L'
            l = i
        elif (i == 3 or i == 6 or i == 9 ): 
            answer = answer+'R'
            r = i
        else :
            l_state = abs(((l-1 )// 3) - ((i-1 )// 3)) + abs(((l-1 )% 3) - ((i-1 )% 3))
            r_state = abs(((r-1 )// 3) - ((i-1 )// 3)) + abs(((r-1 )% 3) - ((i-1 )% 3))
            if l_state == r_state :
                if hand == "right":
                    answer = answer+ 'R'
                    r = i
                else:
                    answer = answer +'L'
                    l = i
            elif l_state > r_state:
                answer =answer + 'R'
                r = i
            else:
                answer =answer + 'L'
                l = i
            
    return answer

'ALGORITHM > Kakao' 카테고리의 다른 글

[Python] 비밀지도  (0) 2021.10.03
[Python] 수식 최대화  (0) 2021.10.02
[Python] 징검다리  (0) 2021.09.30
[Python] 괄호 변환  (0) 2021.09.30
(C++) 행렬 테두리 회전하기  (0) 2021.05.16