-
[Java 자바] 프로그래머스 Lv 0 - 평행Study/Java 2024. 12. 6. 11:00728x90반응형
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
목차
1. 문제 설명
728x90문제 설명
점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
주어진 네 개의 점을 두 개씩 이었을 때,
두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.제한사항
- dots의 길이 = 4
- dots의 원소는 [x, y] 형태이며 x, y는 정수입니다.
- 0 ≤ x, y ≤ 100
- 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다.
- 두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요.
- 임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지지 않습니다.
2. 입출력 예시
입출력 예시
#1
점 [1, 4], [3, 8]을 잇고 [9, 2], [11, 6]를 이으면 두 선분은 평행합니다.
#2
점을 어떻게 연결해도 평행하지 않습니다.
3. 문제 풀이
반응형문제 풀이
class Solution { public int solution(int[][] dots) { int answer = 0; double slope1 = 0; double slope2 = 0; double slope3 = 0; double slope4 = 0; double slope5 = 0; double slope6 = 0; // 1과2, 3과4 기울기 비교 slope1 = (double) (dots[0][1]-dots[1][1]) / (dots[0][0]-dots[1][0]); slope2 = (double) (dots[2][1]-dots[3][1]) / (dots[2][0]-dots[3][0]); if(slope1 == slope2){ answer = 1; } // 1과3, 2와4 기울기 비교 slope3 = (double) (dots[0][1]-dots[2][1]) / (dots[0][0]-dots[2][0]); slope4 = (double) (dots[1][1]-dots[3][1]) / (dots[1][0]-dots[3][0]); if(slope3 == slope4){ answer = 1; } // 2과3, 1과4 기울기 비교 slope5 = (double) (dots[1][1]-dots[2][1]) / (dots[1][0]-dots[2][0]); slope6 = (double) (dots[0][1]-dots[3][1]) / (dots[0][0]-dots[3][0]); if(slope5 == slope6){ answer = 1; } return answer; } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 유한소수 판별하기 (1) 2024.12.09 [Java 자바] 프로그래머스 Lv 0 - 겹치는 선분의 길이 (3) 2024.12.07 [Java 자바] 프로그래머스 Lv 0 - 저주의 숫자 3 (0) 2024.12.05 [Java 자바] 프로그래머스 Lv 0 - 외계어 사전 (0) 2024.12.04 [Java 자바] 프로그래머스 Lv 0 - 삼각형의 완성조건 (2) (0) 2024.12.03