[프로그래머스] 점 찍기 (JS)

hhkim·2023년 11월 12일
0

Algorithm - JavaScript

목록 보기
177/188
post-thumbnail

풀이 과정

x^2 + y^2 <= d^2인 좌표 중 k 간격을 지니는 값의 개수 구하기

  • 2중 반복문은 시간 초과 발생
  • d는 주어진 값이므로, x의 값을 대입해서 y의 최댓값을 알아낼 수 있음
    => 반복문 하나로 해결 가능

코드

function solution(k, d) {
  let result = 0;
  for (let i = 0; i <= d; i += k) {
    const maxY = Math.trunc(Math.sqrt(d ** 2 - i ** 2));
    result += Math.trunc(maxY / k) + 1;
  }
  return result;
}

🤔

안 될 걸 알면서 일단 2중 반복문으로 풀었더니 역시나 몇 문제에 시간 초과가 났다.
사람들의 힌트를 보니 조금만 더 생각하면 풀 수 있는 문제였다. 너무 성급하게 힌트를 본 것 같아서 조금 후회했다.

0개의 댓글