문제:
풀이방법:
원점과 거리가 모두 d인 위치라는 것은 원을 의미한다. 조건상으로는 1사분면에 있는 사분원 내의 정수 점을 찾으면 되는 문제다. x와 y를 모두 변경하면서 조건을 만족하는 점을 찾는 방법을 사용할 수 있지만, 시간초과가 발생하게 된다. 따라서 x를 먼저 결정하고 피타고라스 정리를 사용하여 최대 길이의 y를 찾아 가능한 경우의 수를 모두 찾도록 한다.
1
2
3
4
5
6
7
|
import math
def solution(k, d):
answer = 0
for x in range(0, d+1, k):
y = math.floor(math.sqrt(d**2-x**2))
answer += y//k+1
return answer
|
cs |
문제링크:
https://school.programmers.co.kr/learn/courses/30/lessons/140107
'Algorithm > Python' 카테고리의 다른 글
[BOJ] 3759. KCPC (0) | 2023.07.31 |
---|---|
[BOJ] 19637. IF문 좀 대신 써줘 (0) | 2023.07.28 |
[BOJ] 2607. 비슷한 단어 (0) | 2023.07.26 |
[Programmers]Lv 2. 호텔 대실 (0) | 2023.07.25 |
[BOJ] 1515. 수 이어 쓰기 (0) | 2023.07.24 |