๐โ๏ธ ํํ
์ ๋ค ๊ฐ์ ์ขํ๋ฅผ ๋ด์ ์ด์ฐจ์ ๋ฐฐ์ด dots๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค.
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
์ฃผ์ด์ง ๋ค ๊ฐ์ ์ ์ ๋ ๊ฐ์ฉ ์ด์์ ๋, ๋ ์ง์ ์ด ํํ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด 1์ ์์ผ๋ฉด 0์ return ํ๋๋ก
solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
์ ํ์ฌํญ
- dots์ ๊ธธ์ด = 4
- dots์ ์์๋ [x, y] ํํ์ด๋ฉฐ x, y๋ ์ ์์
๋๋ค.
- 0 ≤ x, y ≤ 100
- ์๋ก ๋ค๋ฅธ ๋๊ฐ ์ด์์ ์ ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- ๋ ์ง์ ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ(์ผ์นํ๋ ๊ฒฝ์ฐ)์๋ 1์ return ํด์ฃผ์ธ์.
- ์์์ ๋ ์ ์ ์ด์ ์ง์ ์ด x์ถ ๋๋ y์ถ๊ณผ ํํํ ๊ฒฝ์ฐ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
| dots | result | ์ค๋ช |
|---|---|---|
| [[1, 4], [9, 2], [3, 8], [11, 6]] | 1 | - ์ [1, 4], [3, 8]์ ์๊ณ [9, 2], [11, 6]๋ฅผ ์ด์ผ๋ฉด ๋ ์ ๋ถ์ ํํํฉ๋๋ค. |
| [[3, 5], [4, 1], [2, 4], [5, 10]] | 0 | - ์ ์ ์ด๋ป๊ฒ ์ฐ๊ฒฐํด๋ ํํํ์ง ์์ต๋๋ค. |
๐ฉ๐ป๐ป ํ์ด
ํํ์ด๋?
๋ ์ ๋ถ์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์ ๊ฒ
๊ธฐ์ธ๊ธฐ๋?
์ด๋ ํ ์ง์ ์ด ์ํ์ผ๋ก ์ฆ๊ฐํ ํฌ๊ธฐ๋งํผ ์์ง์ผ๋ก ์ผ๋ง๋ ์ฆ๊ฐํ์๋์ง ๋ํ๋ด๋ ๊ฐ
๊ธฐ์ธ๊ธฐ ์์
(y2 - y1) / (x2 - x1) == (y4 - y3) / (x4 - x3)
// ํํ: ๋ ์ ๋ถ์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์์ผํ๋ค
// ๊ธฐ์ธ๊ธฐ : (y2-y1) / (x2-x1)
function solution(dots) {
const [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] = dots;
if ( (y2 - y1) / (x2 - x1) == (y4 - y3) / (x4 - x3) ) return 1;
if ( (y3 - y1) / (x3 - x1) == (y4 - y2) / (x4 - x2) ) return 1;
if ( (y4 - y1) / (x4 - x1) == (y3 - y2) / (x3 - x2) ) return 1;
return 0; // ์์ผ๋ฉด 0
}