728x90
코드 힌트
두 선이 평행하다는 말은 같은 기울기를 가지고 있다는 의미입니다. 즉, 기울기를 구하는 문제입니다.
- 기울기 계산:
- 주어진 두 점 사이의 기울기를 계산하는 함수입니다. 기울기는 두 점의 y좌표 차이를 x좌표 차이로 나누어 계산됩니다.
- 기울기 계산 시, double 형을 사용하여 정확한 비교를 위해 형 변환을 적용합니다.
- 평행 여부 확인:
- 주어진 4개의 점이 주어졌을 때, 각각의 두 쌍의 선분이 평행한지를 확인합니다. 이때, 세 가지 경우의 선분 쌍을 고려합니다.
- 두 선분의 기울기가 같으면 해당 선분들은 평행하므로, 이때 1을 반환합니다.
- 결과 반환:
- 모든 경우의 선분 쌍을 비교한 후에도 평행하지 않으면 0을 반환합니다.
정답은 더보기 클릭
더보기
class Solution {
// 주어진 네 개의 점이 이루는 두 직선이 평행한지 확인하는 메소드
public int solution(int[][] dots) {
// 첫 번째와 두 번째 점, 세 번째와 네 번째 점을 이은 직선의 기울기를 비교
if (gradient(dots[0], dots[1]) == gradient(dots[2], dots[3]))
return 1;
// 첫 번째와 세 번째 점, 두 번째와 네 번째 점을 이은 직선의 기울기를 비교
else if (gradient(dots[0], dots[2]) == gradient(dots[1], dots[3]))
return 1;
// 첫 번째와 네 번째 점, 두 번째와 세 번째 점을 이은 직선의 기울기를 비교
else if (gradient(dots[0], dots[3]) == gradient(dots[1], dots[2]))
return 1;
// 어떤 경우에도 평행하지 않은 경우 0 반환
return 0;
}
// 두 점 간의 기울기를 계산하는 메소드
public double gradient(int[] arr1, int[] arr2) {
// 기울기 = (y2 - y1) / (x2 - x1)
return (arr2[1] - arr1[1]) * 1.0 / (arr2[0] - arr1[0]);
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] OX퀴즈 (0) | 2024.08.16 |
---|---|
[프로그래머스] 외계어 사전 (0) | 2024.08.16 |
[프로그래머스] 삼각형의 완성조건 (2) (0) | 2024.08.16 |
[프로그래머스] 구슬을 나누는 경우의 수 (0) | 2024.08.16 |
[프로그래머스] 캐릭터의 좌표 (0) | 2024.08.15 |