1. 문제
2. 전략
1) 두개의 점을 이은 선분의 기울기는 (x2-x1)/(y2-y1) 이다.
2) for 반복문을 이용해서 가능한 선분의 모든 기울기를 newArray에 push한다.
3) newArray에 중복값이 있으면 평행한 선분을 그을 수 있다.
function solution(dots) {
var answer = 0;
let allArr = [];
for(let i =0; i<dots.length; i++){
for(let j =0; j<dots.length; j++){
if(i < j){
let 기울기 = (dots[j][0] - dots[i][0])/(dots[j][1] - dots[i][1]);
allArr.push(기울기); //가능한 모든 기울기를 allArr에 넣는다
}
}
}
let newSet = new Set([...allArr]);
let newArr = Array.from(newSet) //allArr의 중복값을 제거한다.
if(newArr.length !== allArr.length){ 중복값이 있으면 평행 가능
answer = 1;
}
return answer;
}
3. 알아야할 사항
1) 전략을 잘 정하고 순차적으로 써내려가면 된다.
2) 위의 코드는 리팩터링이 안된 더러운 코드이지만, 가독성 좋게 고쳐나가면 좋은 코드가 될 것이다.
'ComputerScience > 알고리즘, 프로그래머스' 카테고리의 다른 글
[Lv.0] 정복기념 (0) | 2023.01.30 |
---|---|
[Lv.0] 안전지대 (2차원 배열과 경우의수) (0) | 2023.01.30 |
[Lv.0] 외계어 사전 (0) | 2023.01.30 |
[Lv.0] 영어가 싫어요(.replaceAll()) (0) | 2023.01.30 |
[Lv.0] 7의 개수 (0) | 2023.01.30 |
댓글