728x90
https://school.programmers.co.kr/learn/courses/30/lessons/140107
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
분석

- 원점 (0,0)으로부터 반원에 들어가는 점
- 1 ≤ k ≤ 1,000,000이므로 완전 탐색하면 시간 초과
- x축을 기준으로 y값 구하기 d² + x² = y²
풀이
import math
def solution(k, d):
answer = 0
for x in range(0, d+1, k):
y= math.sqrt(d*d - x*x) # 피타고라스
answer += y//k + 1
return answer
728x90