-
[😍 프로그래머스-카카오인턴] 키패드 누르기Algorithm/1일 1코테 2021. 7. 22. 14:33반응형
https://programmers.co.kr/learn/courses/30/lessons/67256
내가 쓴 풀이
def solution(numbers, hand): keypad = [[1,2,3], [4,5,6], [7,8,9],['*',0,'#']] answer = '' L = '30' R = '32' for number in numbers: for x in range(len(keypad)): # x 좌표 for y in range(len(keypad[0])): # y 좌표 if keypad[x][y] == number: # 숫자랑 좌표가 같으면 if number in [1,4,7]: # 1,4,7일 경우 왼손 L = str(x)+str(y) # 왼손에 저장 answer += 'L' # 답안에 추가 break elif number in [3,6,9]:# 3,6,9일 경우 오른손 R = str(x)+str(y) answer += 'R' else: distance_l = abs(int(L[0])-x) + abs(int(L[1])-y) # 거리 구하기 distance_r = abs(int(R[0])-x) + abs(int(R[1])-y) # 거리 구하기 if distance_l > distance_r: R = str(x)+str(y) answer += 'R' elif distance_l < distance_r: L = str(x)+str(y) answer += 'L' else: # 거리가 같으면 손잡이로 판단 if hand == 'right': R = str(x)+str(y) answer += 'R' else: L = str(x)+str(y) answer += 'L' return answer
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[🥲 프로그래머스] 전화번호 목록 - hash (0) 2021.07.22 [😍 프로그래머스] 완주하지 못한 선수 - hash (0) 2021.07.22 [🥲 프로그래머스] 등굣길 - Dynamic programming (0) 2021.07.21 [🥲 프로그래머스] 정수 삼각형 - Dynamic Programming (0) 2021.07.20 [🥲 프로그래머스] N으로 표현 (Dynamic Programming) (0) 2021.07.19