주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.
문제 조건을 잘못이해해서
시간을 오래 잡아먹었다. 시간이 너무 아깝다
하지만 문제조건은 충분히 오해할만했다.
내 잘못아니다.
function solution(dots) {
var gra=[];
var comp=[];
var answer=0;
for(var i=0;i<dots.length-1;i++){
for(var j=i+1;j<dots.length;j++){
if((dots[i][0]-dots[j][0])==0)
continue;
else
gra.push((dots[i][1]-dots[j][1])/(dots[i][0]-dots[j][0]));
}
}
if(gra[0]==gra[5])answer=1;
if(gra[1]==gra[4])answer=1;
if(gra[2]==gra[3])answer=1;
return answer;
}
function solution(quiz) {
var answer = [];
for(var i =0;i<quiz.length;i++){
if(quiz[i].split(' ')[1]==='-'){
(parseInt(quiz[i].split(' ')[0])-parseInt(quiz[i].split(' ')[2]))==parseInt(quiz[i].split(' ')[4]) ? answer.push('O') : answer.push('X');
}
else if(quiz[i].split(' ')[1]==='+'){
(parseInt(quiz[i].split(' ')[0])+parseInt(quiz[i].split(' ')[2]))==parseInt(quiz[i].split(' ')[4]) ? answer.push('O') : answer.push('X');
}
}
return answer;
}
function solution(id_pw, db) {
var answer = '';
for(var i=0;i<db.length;i++){
if(id_pw[0]==db[i][0]&&id_pw[1]==db[i][1]) {answer="login"; break;}
else if(id_pw[0]==db[i][0]&&id_pw[1]!=db[i][1]){answer="wrong pw"; break;}
else if(id_pw[0]!=db[i][0]) answer="fail";
}
return answer;
}
// 재귀함수 풀이, 수행시간 느림
// function solution(balls, share) {
// var answer = 0;
// var i,j;
// function b(n,k){
// if(k==0||n==k)return 1;
// else
// return b(n-1,k-1)+b(n-1,k);
// }
// return b(balls,share);
// }
//DP풀이, 수행시간 빠름
function solution(balls, share) {
var answer = 0;
var arr = new Array(balls+1).fill(0).map(() => new Array(share+1));
for(var i=0;i<=balls;i++){
for(var j=0;j<=Math.min(i,share);j++){
if(j==0 || i==j) arr[i][j]=1;
else arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
return arr[balls][share];
}