문제

문제

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

 

처음 작성한 코드

def solution(numbers, hand):
    answer = ''
    Left = [10]
    Right = [12]
    for i in numbers:
        if i == 0 : i=11
        if i in [1,4,7]:
            Left.append(i)
            answer+='L'
        elif i in [3,6,9]:
            Right.append(i)
            answer+='R'
        else:
            l1,l2 = divmod(abs(Left[-1] - i), 3)
            r1,r2 = divmod(abs(Right[-1] - i), 3)
            if l1+l2 < r1+r2:
                Left.append(i)
                answer+='L'
            elif l1+l2 == r1+r2:
                if hand=='right':
                    Right.append(i)
                    answer+='R'
                else:
                    Left.append(i)
                    answer+='L'
            else:
                Right.append(i)
                answer+='R'
    return answer
  1. '*'을 10으로, '#'을 12로 놓고 풀었다.

 

깨달은 점

  • 카카오 코테는 깔끔하다. 시키는 대로만 하면 통과다..
  • 1단계는 역시 쉬워서 내 기분을 좋게 해준다!

'Programmers' 카테고리의 다른 글

[프로그래머스] 프렌즈4블록  (0) 2021.01.17
[프로그래머스] 캐시  (0) 2021.01.15
[프로그래머스] 다트 게임  (0) 2021.01.14
[프로그래머스] 비밀지도  (0) 2021.01.13
[프로그래머스] 실패율  (0) 2021.01.13