본문 바로가기
반응형

알고리즘2

[프로그래머스] 두 원 사이의 정수 쌍 Python 풀이 문제 구현 시간 효율은 나와있지 않아 모두 구해도 되겠지만 원의 특성상 1,2,3, 4분면의 형태가 같기에 1 사분면에서만 점의 개수를 구해주고 *4를 해주도록 한다. 겹치기 않게 x는 1부터 r2까지 확인하면서 구하고 y의 최대 최소 좌표를 계산한다. x**2+y**2=r**2 이므로 y**2 = r**2-x**2이다. 양 변에 루트를 씌워주면 y값을 구할 수 있다. y(r2)-y(r1) 사이의 모든 정수를 구하면 된다. 추가적으로 x가 r1보다 커지는 상황에서는 y(r1) 상관없이 최대 좌표까지의 모든 정수를 더해주면 된다. 코드 def solution(r1, r2): answer = 0 for x in range(0,r2): max_y = (r2**2-x**2)**0.5 min_y = 0 if x>.. 2023. 4. 17.
[Python] 피보나치 수열 구현 (fibonacci sequence) 이번에는 저번 sorted 포스팅에 이어 과제로 자주 나오는 피보나치 수열을 구현해보겠다. 우선 피보나치 수열이란 첫째 항, 둘째 항이 모두 1이면 그 뒤의 모든 항은 그 앞 두 항의 합인 수열이다. 우선 피보나치 수열을 살펴보자 $$ \begin{align} &F_{0}=&0\\ &F_{1}=&1\\ &F_{n}=&F_{n-2}&+&F_{n-1}& \end{align} $$ 위와 같은 일반항으로 수열이 나타난다. 결국 0, 1, 1, 2, 3, 5, 8, 13, 21 ...... 이런식으로 증가하는 수열이다. 그렇다면 구현해보겠다 우선 우리가 기존에 알던 방식으로 해보겠다. $F_{1}$항부터 시작하도록 하겠다. def fibonacci(number): i=2 arr=[1,1] if(number 2022. 5. 26.
반응형