[문제]
점 4개 중에 임의로 2개씩 선택했을 때, 서로 평행한 경우가 있는지 알아보는 문제였다.
정답률 53%의 문제였다.
[유의한 점]
(y2 - y1) / (x2 - x1) == (y4 - y3) / (x4 - x3) 형식으로 나누기를 사용하면
x1 == x2 일 때 0으로 나누면서 오류가 날까봐 곱셈 형태로 바꿔줬다.
[코드]
def solution(dots):
answer = 0
# [[x1, y1],[x2, y2],[x3, y3],[x4, y4]] = dots
x1 = dots[0][0]
y1 = dots[1][0]
x2 = dots[2][0]
y2 = dots[3][0]
x3 = dots[0][1]
y3 = dots[1][1]
x4 = dots[2][1]
y4 = dots[3][1]
# 평행인 선이 있는지 확인
if (y2-y1) * (x4 - x3) == (y4 - y3) * (x2- x1) or (y3-y1) * (x4- x2) == (y4 - y2) * (x3 - x1) or (y4-y1) * (x2- x3) == (y2 - y3) * (x4 - x1):
return 1
else:
return 0
[개선점]
[[x1, y1],[x2, y2],[x3, y3],[x4, y4]] = dots 로 놓고 풀었다면 더 깔끔했을 듯 하다.
[느낀점]
차근차근 풀었더니 맞았다.
차분하게 풀자
'기본기 다지기 > 코테 오답노트' 카테고리의 다른 글
[프로그래머스] 햄버거 만들기 (파이썬) (0) | 2025.03.03 |
---|---|
[프로그래머스] 대충 만든 자판 (파이썬) (0) | 2025.02.27 |
[프로그래머스] 숫자 짝꿍 (파이썬) (0) | 2025.02.26 |
[프로그래머스] 겹치는 선분의 길이 (파이썬) (0) | 2025.02.24 |
[프로그래머스] 다항식 더하기 (파이썬) (0) | 2025.02.20 |