[프로그래머스] 점 찍기

최동혁·2022년 12월 7일
0

프로그래머스

목록 보기
16/68
import math

def solution(k, d):
    answer = 0
    
    for x in range(0, d + 1, k):
        max_y = int(math.sqrt(math.pow(d, 2) - math.pow(x, 2)))
        answer += max_y // k + 1
    
    return answer
  • x좌표와 y좌표로 나뉘는데, x좌표를 기준으로 삼았다.
  • 거리가 d이기 때문에, x 좌표는 0부터 d까지이다.
  • 그렇기 때문에, x를 k만큼씩 증가시키면서 y의 최대값을 정수형으로 구하고, k로 나누어서 y의 개수를 더해주었다.
  • 1을 더해주는 것은 0좌표까지 생각해야되기 때문이다.
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글