728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/140107
풀이:
첫 시도인 만큼 정답 맞추기에 집중했다. 62.5점
def solution(k, d):
list = set()
angle = d**2 # 제곱
same_count = 0
for i in range(0,d,k):
for j in range(i,d+1,k):
if (i**2)+(j**2) <=angle:
list.add((i,j))
if i == j:
same_count +=1
return len(list) * 2 - same_count
내가 메모리를 줄이려고 노력한건 0,1,2,3,4, 를 절반만 구하고 뒤집으면 된다는 생각과 3,3 이런거는 same_count 에 넣어줘 빼주면
된다고 생각하였다
하지만 역시 이중포문이라 그런지 시간초과
정답:
def soulution(k,d):
count =0
for i in range(0,d+1,k):
y = (d**2) - (i**2)
count += (int(y**0.5) // k) + 1
return count
반응형
댓글