728x90
문제 설명
문제 풀이 방법
단순히 for문을 중첩해서 사용하면 효율성이 떨어지기 때문에 문제 풀이 방법을 생각했다.
그래서 이 문제는 원의 방정식을 이용해 풀었다.
x^2 + y^2 = d^2 인 공식을 이용해 x에 대한 y값이 될 수 있는 범위를 구했고, 이를 이용해 문제를 풀었다.
코드
const solution = (k, d) => {
let answer = 0;
for(let i=0; i<=d; i+=k){
const yRange = Math.sqrt(d**2 - i**2);
answer += Math.ceil(yRange / k) + (yRange % k === 0 ? 1 : 0);
}
return answer;
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
[JS] 2Level / 연습문제 / 리코쳇 로봇 (0) | 2023.12.25 |
---|---|
2Level / Summer/Winter Coding(2019) / 멀쩡한 사각형 (0) | 2023.12.04 |
[JS] 2Level / 연습문제 / 미로 탈출 (1) | 2023.11.21 |
[JS] 2Level / 연습문제 / 미로 탈출 (0) | 2023.11.17 |
2Level / 2021 카카오 채용연계형 인턴십 / 거리두기 확인하기 (0) | 2023.11.16 |