250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[Algorithm] 두 원 사이의 정수 쌍 ( Programmers - JavaScript) 본문

[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training

[Algorithm] 두 원 사이의 정수 쌍 ( Programmers - JavaScript)

Snow-ball 2023. 10. 8. 13:21
반응형

문제 설명

x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 soultion 함수를 완성해주세요.

* 각 원 위의 점도 포함하여 셉니다.

 

 

 


 

 

 

제한 사항

 

 

 


 

 

 

입출력 예

 

 

 


 

 

 

입출력 예 설명

500

 

 

 


 

 

 

문제풀이

1
2
3
4
5
6
7
8
9
10
11
12
function solution(r1, r2) {
  let answer = 0;
 
  for (let x = 1; x <= r2; ++x) {
    const maxY = Math.floor(Math.sqrt(r2 ** 2 - x ** 2));
    const minY = r1 > x ? Math.ceil(Math.sqrt(r1 ** 2 - x ** 2)) : 0;
 
    answer += maxY - minY + 1;
  }
 
  return answer * 4;
}
cs

 

 

문제를 풀때 2가지만 생각하면 풀 수 있는 전략이 나온다.

첫째. 피타고라스의 정리 (a^2 + b^2 = c^2)

둘째. 원(circle)이기 때문에 4분면 중 1사분면만 구하고 *(곱하기) 4를 해주면 되는점

 

 

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/181187

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

반응형
Comments