[프로그래머스] 타겟 넘버 Python Code
프로그래머스 타겟 넘버를 파이썬으로 풀어보겠다. 이 문제는 레벨 2로 분류되어 있고 DFS, BFS로 풀이할 문제다. 문제 구현 어차피 완전 탐색이지만 BFS에 적응할 겸 BFS로 구현해보겠다. 코드 def solution(numbers, target): data = [0] for num in numbers: res = [] for val in data: res.append(val + num) res.append(val - num) data = res return data.count(target) data가 변화하는 flow를 [1,1,1]로 보겠다. [0] -> [1, -1] -> [2, 0, 0, -2] -> [3, 1, 1, -1, 1, -1, -1, -3] 이렇게 변하여 타겟 값이 몇 개인지 확인..
2022. 8. 30.
[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.