기준이 되는 두 좌표가 있고, 다음 목표 좌표에 더 가까운 거리에 위치한 기준 좌표를 옮기는 간단한 문제이다.
연산자
10. Python에서 제공하는 연산자 – 언제나 휴일 (ehpub.co.kr)
코드
def solution(numbers, hand):
answer = ''
thumb = {"left":(3,0),"right":(3,2)}
result = []
for num in numbers :
numLoc = (3,1) if num == 0 else ((num-1)//3,(num-1)%3)
if num in [1,4,7] :
result.append('L')
thumb['left'] = numLoc
elif num in [3,6,9] :
result.append('R')
thumb['right'] = numLoc
else :
dl = abs(thumb['left'][0]-numLoc[0])+abs(thumb['left'][1]-numLoc[1])
dr = abs(thumb['right'][0]-numLoc[0])+abs(thumb['right'][1]-numLoc[1])
if dl > dr :
result.append('R')
thumb['right'] = numLoc
elif dl < dr :
result.append('L')
thumb['left'] = numLoc
else :
result.append((hand.capitalize())[0])
thumb[hand] = numLoc
answer = ''.join(result)
return answer
'PS > 프로그래머스' 카테고리의 다른 글
완주하지 못한 선수 (lv1) (0) | 2022.07.03 |
---|---|
소수 만들기 (lv1) (0) | 2022.07.03 |
숫자 문자열과 영단어 (lv1) (0) | 2022.07.01 |
신규 아이디 추천 (lv1) (0) | 2022.07.01 |
로또의 최고순위와 최저순위 (lv1) (0) | 2022.06.30 |