π‘μ κ·Όλ°©λ²
μμ λ°©μ μ νμ©νκΈ°!
(x-a)^2 + (y-b)^2 = r^2
μμ μ€μ¬μ΄ μμ μ΄κΈ° λλ¬Έμ x^2 + y^2 = r^2
μμ λ°©μ μμ νμ©ν΄μ xκ°μ λ°λ₯Έ μμ yκ°μ ꡬνκΈ°
κ° xκ°μ λ°λ₯Έ μ μ λ²μ
μμ μμ yκ° <= μ μ <= ν° μμ yκ°
μ 1μ¬λΆλ©΄μμ r2μ r1μ¬μ΄μ λ€μ΄κ° μ μλ μ μ λ²μλ₯Ό ꡬν λ€μ *4
function solution(r1, r2) {
let result =0;
//ν° μλ³΄λ€ μμ λ²μλ΄μμ μ 1μ¬λΆλ©΄μ λ€μ΄κ° μ μλ μ μ yμΆ λ²μ ꡬνκΈ°
for(let x =1;x<=r2;x++){
//ν° μμ yμ’ν(ν° μλ³΄λ€ μμμΌ νκΈ° λλ¬Έμ μμ μ μλ‘)
const r2_y = Math.floor(Math.sqrt(Math.pow(r2,2)-Math.pow(x, 2)));
//μμ μμ yμ’ν(μμ μλ³΄λ€ ν° μ μμ¬μΌ νκΈ° λλ¬Έμ μ¬λ¦Ό)
const r1_y = Math.ceil(Math.sqrt(Math.pow(r1,2)-Math.pow(x, 2)))||0;
//λ²μ μμ μ μμ κ°μλ₯Ό ꡬν΄μΌ νκΈ° λλ¬Έμ +1
const cnt = r2_y - r1_y+1;
result+=cnt*4;
}
return result;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181187
'π§ μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μμμ°ΎκΈ° JS (0) | 2023.12.27 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μ¬νκ²½λ‘ JS (1) | 2023.12.27 |
[νλ‘κ·Έλλ¨Έμ€] νκ² λλ² JS (1) | 2023.12.27 |
[νλ‘κ·Έλλ¨Έμ€]μ°μλ λΆλΆ μμ΄μ ν© JS (1) | 2023.12.27 |
[νλ‘κ·Έλλ¨Έμ€]μ격μμ€ν JS νμ΄ (0) | 2023.12.27 |