[프로그래머스] 평행 (직선의 평행 조건)

2023. 3. 15. 10:32·Algorithm
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120875

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr



문제 푼 코드

package programmers.pr2023.Lv0.March;

public class Lv0_평행_20230315 {
    public static void main(String[] args) {
        int[][] dots = {{1, 4}, {9, 2}, {3, 8}, {11, 6}};
        Solution s = new Solution();
        System.out.println(s.solution(dots));
    }

    static class Solution {
        // 직선의 기울기는 x의 변화값과 y의 변화값(y/x) 즉, y1-y2 /x1-x2
        // 직선의 평행 조건 : 기울기가 같되 y절편이 달라야 한다. (기울기가 다를 경우 or y절편이 같을 경우 -> 무조건 만나게 된다. 기울기는 같되 y절편도 같을 경우 -> 두 직선은 일치한다.)
        public int solution(int[][] dots) {
            int answer = 0;

            if(findSlope(dots[0], dots[1]) == findSlope(dots[2], dots[3])) {
                answer++;
            } else if(findSlope(dots[0], dots[2]) == findSlope(dots[1], dots[3])) {
                answer++;
            } else if(findSlope(dots[0], dots[3]) == findSlope(dots[1], dots[2])) {
                answer++;
            }

            return answer;
        }

        public double findSlope(int[] dot1, int[] dot2) {
            return (double) (dot1[1] - dot2[1]) / (dot1[0] - dot2[0]); // y1-y2 / x1-x2 == 기울기
        }

    }

}

 

해당 문제는 직선의 평행 조건이 무엇인지 찾아보고 풀 수 있었다.

직선의 평행 조건은 y의 변화값 / x의 변화값으로 구할 수 있다. (y1-y2 / x1-x2)

평행이 되기 위해서는 기울기는 같되 y의 절편 값이 달라야 한다. 만약, 기울기도 같고 y 절편 값도 같으면 일치해서 만나게 된다.

해당 문제는 두 직선이 일치하는 경우에도 1을 반환해야 하기 때문에 기울기가 같은지만 파악하면 풀 수 있는 문제다.

728x90
반응형

'Algorithm' 카테고리의 다른 글

[프로그래머스] 연속된 수의 합(등차수열의 합)  (0) 2023.03.07
[프로그래머스] 유한소수 판별하기(유클리드호제법, 소인수분해)  (0) 2023.02.27
[프로그래머스] 문자열 정렬하기(1)  (0) 2023.02.07
[프로그래머스] 분수의 덧셈 / 유클리드 호제법(최대공약수 구하기)  (0) 2023.01.30
[프로그래머스] 단어 변환 / DFS/BFS(그래프탐색)  (0) 2022.08.15
'Algorithm' 카테고리의 다른 글
  • [프로그래머스] 연속된 수의 합(등차수열의 합)
  • [프로그래머스] 유한소수 판별하기(유클리드호제법, 소인수분해)
  • [프로그래머스] 문자열 정렬하기(1)
  • [프로그래머스] 분수의 덧셈 / 유클리드 호제법(최대공약수 구하기)
야리니
야리니
오늘보다 내일 더 성장하는 개발자가 되기 위한 야리니 블로그입니다 :)
    반응형
    250x250
  • 야리니
    야리니의 step by step
    야리니
  • 링크

    • GitHub
    • Linkedin
  • 전체
    오늘
    어제
    • 분류 전체보기 (478) N
      • TIL (379)
        • Java (97)
        • Kotlin (28)
        • JPA (16)
        • Spring (37)
        • Oracle (22)
        • JDBC (7)
        • Web(HTML, CSS, JS, jQuery) (90)
        • View Template (31)
        • AWS (7)
        • HTTP (7)
        • CS (5)
        • Linux, Unix (2)
        • Python (20)
      • Trouble Shooting(Error) (37)
      • Algorithm (15)
      • Git,GitHub (8)
      • Diary (24) N
      • 독서 (9)
      • Etc (6)
        • Mac (1)
        • 학원준비과정 (2)
  • 블로그 메뉴

    • 방명록
    • 태그
  • 공지사항

    • 안녕하세요 :)
  • 인기 글

  • 태그

    쌍용교육센터
    java기초
    HTML
    Kotlin
    java
    백엔드 개발자
    국비지원학원
    코틀린
    oracle
    CSS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
야리니
[프로그래머스] 평행 (직선의 평행 조건)
상단으로

티스토리툴바