
😎풀이
x, y의 시작위치와 반지름을 입력받음
- 사각형 좌표 기준 x, y 생성
2-1. x는 0의 좌표에서 지름중 하나의 점을 선택하고, x의 시작 위치를 기준으로 재조정
2-2. y 동일
- 두 점이, 원의 방정식
x점 - x시작점의 제곱 + y점 - y시작점의 제곱 <= 반지름의 제곱을 만족하는지 검증하여 반환
class Solution {
private radius: number
private xCenter: number
private yCenter: number
constructor(radius: number, x_center: number, y_center: number) {
this.radius = radius
this.xCenter = x_center
this.yCenter = y_center
}
randPoint(): number[] {
while(true) {
const x = Math.random() * this.radius * 2 - this.radius + this.xCenter
const y = Math.random() * this.radius * 2 - this.radius + this.yCenter
if(Math.pow(x - this.xCenter, 2) + Math.pow(y - this.yCenter, 2) <= Math.pow(this.radius, 2)) {
return [x, y]
}
}
}
}