[TIL] 내배캠4기-React-45일차

hare·2022년 12월 14일
0

내배캠-TIL

목록 보기
33/75

오전

  • 후발대 복습
    -투두리스트 한번 더 만들기
  • 리액트 숙련 과제
    • 아직도 시작 안한 거 실화,,?

오후

프로그래머스 코테

문제 설명
점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.

입출력 예
[[1, 4], [9, 2], [3, 8], [11, 6]] 결과값: 1
[[3, 5], [4, 1], [2, 4], [5, 10]] 결과값: 0

function solution(dots) {
  //기울기를 담아둘 배열
  const newArr = [];

  for (let i = 0; i < dots.length; i++) {
    for (let j = i + 1; j < dots.length; j++) {
      //x좌i

      const temp = (dots[i][1] - dots[j][1]) / (dots[i][0] - dots[j][0])
      //   console.log("기울기", temp);

      if (newArr.includes(temp)) {
        return 1;
      }
      newArr.push(temp);
    }
  }
  return 0;
}

Hint

📌 기울기 : y좌표 간의 차 / x좌표 간의 차
💡 기울기가 같다면 평행하다

좌표 간의 차로 풀어보려했던 흔적..
// for (let i = 0; i < dots.length; i++) {
// [x1, y1] = dots[i];
// [x2, y2] = dots[i + 1];
// console.log(Math.abs(x1 - x2));
// console.log(Math.abs(y1 - y2));
// }

profile
해뜰날

1개의 댓글

comment-user-thumbnail
2022년 12월 15일

ㅎㅎㅎ저도 같은문제 기억 리셋됐던 기억이...
화이팅!!

답글 달기