코딩테스트/Python
프로그래머스 스쿨 - 당구 연습(Python)(복습)
보안매크로
2023. 10. 9. 10:53
def solution(m, n, startX, startY, balls):
answer = []
start = [startX,startY]
for i in range(len(balls)):
end = [balls[i][0], balls[i][1]]
distance = 10**6
temp = []
if start[0]!=end[0] or start[1] > end[1]: # x좌표가 다르거나, y좌표가 시작이 더 클때
temp.append((start[0]-end[0])**2 + (2*n-start[1]-end[1])**2) #위
if start[0]!=end[0] or start[1] < end[1]: # x좌표가다르거나, y좌표가 시작이 더 작을때
temp.append((start[0]-end[0])**2 + (start[1]+end[1])**2) #아래
if start[1]!=end[1] or start[0] < end[0]: # y좌표가 다르거나, x좌표가 시작이 더 작을 때
temp.append((start[0]+end[0])**2 + (start[1]-end[1])**2) #좌
if start[1]!=end[1] or start[0] > end[0]: # y좌표가 다르거나, x좌표가 시작이 더 클 때
temp.append((2*m-start[0]-end[0])**2 + (start[1]-end[1])**2) #우
for dist in temp:
if dist < distance:
distance = dist
answer.append(distance)
return answer