프로그래머스 | 키패드 누르기 (Python)

2024. 10. 1. 16:06·ALGORITHM
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 코드

def solution(numbers, hand):
    answer = ''
    # 키패드 숫자들의 좌표를 정의
    keypad = {
        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)
    }
    
    curr_left = keypad['*']
    curr_right = keypad['#']
    
    for number in numbers:
        if number in [1, 4, 7]:
            curr_left = keypad[number]
            answer += 'L'
        elif number in [3, 6, 9]:
            curr_right = keypad[number]
            answer += 'R'
        else:
            curr = keypad[number]
            
            left_dist = abs(curr[0] - curr_left[0]) + abs(curr[1] - curr_left[1])
            right_dist = abs(curr[0] - curr_right[0]) + abs(curr[1] - curr_right[1])
            
            if right_dist > left_dist:
                curr_left = keypad[number]
                answer += 'L'
            elif right_dist < left_dist:
                curr_right = keypad[number]
                answer += 'R' 
            elif right_dist == left_dist:
                if hand == 'left':
                    curr_left = keypad[number]
                    answer += 'L'
                elif hand == 'right':
                    curr_right = keypad[number]
                    answer += 'R' 
    return answer

 

반응형

'ALGORITHM' 카테고리의 다른 글

프로그래머스 | PCCP 기출 문제 1번 | 동영상 재생기 (Python)  (1) 2024.10.10
프로그래머스 | 네트워크 (Python)  (1) 2024.10.01
프로그래머스 | 스킬트리 (Python)  (0) 2024.10.01
프로그래머스 | 타겟 넘버 (Python)  (0) 2024.10.01
어서와! 자료구조와 알고리즘은 처음이지? | 6강, 7강, 8강  (0) 2024.09.30
'ALGORITHM' 카테고리의 다른 글
  • 프로그래머스 | PCCP 기출 문제 1번 | 동영상 재생기 (Python)
  • 프로그래머스 | 네트워크 (Python)
  • 프로그래머스 | 스킬트리 (Python)
  • 프로그래머스 | 타겟 넘버 (Python)
진미
진미
  • 진미
    ABC
    진미
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • PROJECT (3)
      • ALGORITHM (43)
      • STUDY (3)
        • 리액트 (7)
        • 파이썬 (2)
      • 기타 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 설정
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
진미
프로그래머스 | 키패드 누르기 (Python)
상단으로

티스토리툴바