def solution(numbers, hand):
answer = ''
middleNum = {
2: [0, 1],
5: [1, 1],
8: [2, 1],
0: [3, 1]
}
l = [3, 0]
r = [3, 2]
for num in numbers:
if num in (1, 4, 7):
answer += 'L'
l[0] = int(num / 3)
elif num in (3, 6, 9):
answer += 'R'
r[0] = int(num / 3 - 1)
else:
# 2,5,8,0
y, x = middleNum[num]
Rdist = abs(r[0] - y) + abs(r[1] - x)
Ldist = abs(l[0] - y) + abs(l[1] - x)
if Rdist < Ldist:
answer += 'R'
r = [y, x]
elif Rdist > Ldist:
answer += 'L'
l = [y, x]
# 거리가 같다면
else:
if hand == "right":
answer += 'R'
r = [y, x]
else:
answer += 'L'
l = [y, x]
return answer
solution([7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2], "left")
역시나 1번문제였어서 그런지 무난하게 넘어갈 수 있는 문제였다
'컴퓨터 > 코테' 카테고리의 다른 글
카카오 기출 - 표편집 (0) | 2021.08.27 |
---|---|
백준 2156 - 포도주 [dp] (0) | 2021.08.26 |
카카오 2021 기출 - 광고삽입 (0) | 2021.08.23 |
카카오 2021 기출 - 합승 택시요금 [워셜 플로이드] (0) | 2021.08.23 |
백준 11559 [bfs] (0) | 2021.08.18 |