[프로그래머스 LV.0] (Javascript) 평행

Hannah Lee·2023년 1월 13일
1

프로그래머스 LV.0

목록 보기
8/10

😎 링크

프로그래머스 - 평행

😎 고려할 사항

  • 선분이 평행하다는 것 == 기울기가 같다는 것
  • 기울기는 y좌표 변화량 ÷ x좌표 변화량으로 계산한다
  • 점은 무조건 4개씩 주어지므로, 2개씩 이었을 때 선분 조합의 경우는 4C2 (즉, 3개)
  • 조합이 무조건 3개이므로 조합의 경우의 수를 계산하는 로직은 필요없고, 그냥 하드하게 3번 계산하면 됨
  • 즉, (1-2번점과 3-4번점), (1-3번점과 2-4번점), (1-4번점과 2-3번점)이 이어졌을 경우를 계산하자

😎 소스코드

function solution(dots) {
  var answer = 0;

  function calculation(a, b, c, d) {
    let abDiff, cdDiff;

    abDiff = (b[1] - a[1]) / (b[0] - a[0]);
    cdDiff = (d[1] - c[1]) / (d[0] - c[0]);

    if (abDiff === cdDiff) {
      answer += 1;
    }
  }

  // 1-2, 3-4가 이어졌을 때
  calculation(dots[0], dots[1], dots[2], dots[3]);

  // 1-3, 2-4가 이어졌을 때
  calculation(dots[0], dots[2], dots[1], dots[3]);

  // 1-4, 2-3가 이어졌을 때
  calculation(dots[0], dots[3], dots[1], dots[2]);

  return answer > 0 ? 1 : 0;
}

😎 문법 정리

X

profile
프론트 어쩌고

0개의 댓글