https://school.programmers.co.kr/learn/courses/30/lessons/140107
2중 for문을 돌면서 하나씩 검사하는 방법은 시간초과를 출력하기 때문에 1개의 for문을 사용해야 한다.
찍을 수 있는 점 x를 구해 y의 최대값을 피타고라스 정의를 통해 구합니다. \(y^2 = r^2 - x^2\)
def solution(k, d):
answer = 0
for x in range(0,d+1,k):
res = int((d**2 - x**2)**0.5)
answer += (res // k) + 1
return answer
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 2] / [Python] 숫자 변환하기 (0) | 2023.02.02 |
---|---|
[프로그래머스] / [Level 2] / [Python] 숫자 카드 나누기 (0) | 2023.01.26 |
[프로그래머스] / [Level 2] / [Python] 택배상자 (0) | 2023.01.25 |
[프로그래머스] / [Level 2] / [Python] 롤케이크 자르기 (0) | 2023.01.25 |
[프로그래머스] / [Level 2] / [Python] 할인 행사 (0) | 2023.01.21 |