Algorithm/Python

[Programmers] Lv 2. 점 찍기

Pycoder 2023. 7. 27. 12:00
728x90
반응형

문제:

풀이방법:

 원점과 거리가 모두 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

 

프로그래머스

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

programmers.co.kr

 
728x90
반응형