LV 2: 점 찍기

ewillwin·2023년 8월 22일
0

문제 링크

LV 2: 점 찍기


구현 방식

  • k가 1이고, d가 1,000,000인 경우에 2중 for문을 돌면 TLE를 받는다

  • 순회를 x축 기준으로 한다면 1중 for문으로 구현할 수 있음
    -> x값에 따른 y는 int(sqrt(abs(d**2 - x**2))로 구할 수 있고, 해당 값을 k로 나눠주면 x값 당 찍을 수 있는 점의 개수가 구해진다


코드

from math import sqrt

def solution(k, d):
    
    count = 0
    for x in range(0, d+1, k):
        count += (int(sqrt(abs(d**2 - x**2))) // k) + 1
    return count    
profile
💼 Software Engineer @ LG Electronics | 🎓 SungKyunKwan Univ. CSE

0개의 댓글