π λ¬Έμ
μ λ€ κ°μ μ’νλ₯Ό λ΄μ μ΄μ°¨μ λ°°μ΄ 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
[[3, 5], [4, 1], [2, 4], [5, 10]] 0
π μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- μ [1, 4], [3, 8]μ μκ³ [9, 2], [11, 6]λ₯Ό μ΄μΌλ©΄ λ μ λΆμ ννν©λλ€.
μ μΆλ ₯ μ #2
- μ μ μ΄λ»κ² μ°κ²°ν΄λ νννμ§ μμ΅λλ€.
π§ νμ΄
function solution(dots) {
// μ§μ μ κΈ°μΈκΈ° (y1 - y2) / (x1 - x2)
// μ μ μλ κ²½μ°μ μλ 3κ°
// μΈ κ°λ©΄ λ€ νλκ² λΉ λ₯Ό κ² κ°μ
let answer = 0;
let a = Math.abs(dots[0][1] - dots[1][1]) / Math.abs(dots[0][0] - dots[1][0]);
let b = Math.abs(dots[2][1] - dots[3][1]) / Math.abs(dots[2][0] - dots[3][0]);
if (a - b === 0) {
answer = 1;
}
let c = Math.abs(dots[0][1] - dots[2][1]) / Math.abs(dots[0][0] - dots[2][0]);
let d = Math.abs(dots[1][1] - dots[3][1]) / Math.abs(dots[1][0] - dots[3][0]);
if (c - d === 0) {
answer = 1;
}
let e = Math.abs(dots[0][1] - dots[3][1]) / Math.abs(dots[0][0] - dots[3][0]);
let f = Math.abs(dots[1][1] - dots[2][1]) / Math.abs(dots[1][0] - dots[2][0]);
if (e - f === 0) {
answer = 1;
}
return answer;
}
'π§© Algorithm > π§ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] κ²ΉμΉλ μ λΆμ κΈΈμ΄ (0) | 2023.04.18 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μ νμμ νλ³νκΈ° (0) | 2023.04.18 |
[νλ‘κ·Έλλ¨Έμ€] μ μ£Όμ μ«μ 3 (0) | 2023.04.18 |
[νλ‘κ·Έλλ¨Έμ€] μΈκ³μ΄ μ¬μ (1) | 2023.04.17 |
[νλ‘κ·Έλλ¨Έμ€] μΌκ°νμ μμ±μ‘°κ±΄ (2) (0) | 2023.04.17 |