본문 바로가기
알고리즘/프로그래머스

두 원 사이의 정수 쌍 - python

by 1.5볼트 2023. 4. 16.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/181187

 

프로그래머스

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

programmers.co.kr

 

무슨 간단한 수식이 있는 줄 알았지만 n이 100만까지
그렇다면 n 번이다
그렇다 x 값에 대응하는 y를 찾아서 하나하나 값을 대입해 높이를 구하고 정수 싸이의 개수를 구한다
언제 한번 본 거 같은데 이게 최선이냐

 

def solution(r1,r2):
    s=s1=0
    rr=r2**2
    rr1=r1**2
    for i in list(map(lambda x:x**2,range(-r2,r2+1))):
        s+=(((rr-i)**0.5)//1)*2+1
        if i<=rr1:
            b=((rr1-i)**0.5)
            b1=b//1
            s1+=b1*2+1
            if b-b1<0.000000001:
                if b1==0:
                    s1-=1
                else:
                    s1-=2
    return s-s1

'알고리즘 > 프로그래머스' 카테고리의 다른 글

베스트앨범 - python  (0) 2023.04.18
요격 시스템 - python  (0) 2023.04.17
구명보트 python  (0) 2023.04.14
연속 부분 수열 합의 개수 python  (0) 2023.04.13
리코쳇 로봇  (0) 2023.04.12

댓글