Jieunny์˜ ๋ธ”๋กœ๊ทธ

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ‰ํ–‰ ๋ณธ๋ฌธ

Study/Coding Test

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ‰ํ–‰

Jieunny 2023. 1. 10. 15:35

๐Ÿ“Œ ๋ฌธ์ œ

์  ๋„ค ๊ฐœ์˜ ์ขŒํ‘œ๋ฅผ ๋‹ด์€ ์ด์ฐจ์› ๋ฐฐ์—ด  dots๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

  • [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]

์ฃผ์–ด์ง„ ๋„ค ๊ฐœ์˜ ์ ์„ ๋‘ ๊ฐœ์”ฉ ์ด์—ˆ์„ ๋•Œ, ๋‘ ์ง์„ ์ด ํ‰ํ–‰์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฉด 1์„ ์—†์œผ๋ฉด 0์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

โœ๏ธ ํ’€์ด

function solution(dots) {
    var answer = 0;
    let slopes = [];
    for(let i=0; i< dots.length-1; i++){	// ๋‘ ์ ์”ฉ ์„ ํƒํ•ด์„œ ๋Œ๋ฉด์„œ
        for(let j=i+1; j<dots.length; j++){
            let slope = (dots[i][1] - dots[j][1]) / (dots[i][0] - dots[j][0]);
            // ๊ธฐ์šธ๊ธฐ ๊ตฌํ•˜๊ณ 
            if(slopes.includes(slope)){
            	// ๊ธฐ์šธ๊ธฐ๊ฐ€ ๊ฐ™์œผ๋ฉด ํ‰ํ–‰
                return 1;
            }
            slopes.push(slope);
        }
    }
    return answer;
}