프로그래머스 Lv2 교점에 별 만들기

taeng·2022년 3월 8일
0

알고리즘

목록 보기
7/12
function solution(line) {
  	var arr =[];
    var arrx = []; 
    var arry = [];
    for(let i = 0; i<line.length; i++ ){
      for(let j= i+1; j<line.length; j++){
        var [A,B,E] = line[i];
        var [C,D,F] = line[j];
        var x =((B*F)-(E*D))/((A*D)-(B*C));
        var y= ((E*C)-(A*F))/((A*D)-(B*C));
        if(!Number.isNaN(x)){
          if(Number.isInteger(x) && Number.isInteger(y)){
            arrx.push(x);
            arry.push(y);
            arr.push([x,y])
          }
        }
      }
    }
    
    var MaxX = Math.max(...arrx); 
    var MinX = Math.min(...arrx);
    var MaxY = Math.max(...arry); 
    var MinY = Math.min(...arry);
    var x = Array(MaxY-MinY+1).fill().map(t=>Array(MaxX-MinX+1).fill().map(t=>{
      return '.'
    }));
    arr.map(t=>{
      x[MaxY-t[1]][t[0]-MinX] = '*'
    })
    return x.map(t=>t.join(''));
}
profile
주니어 백엔드 개발자 공부 정리

0개의 댓글