Problem Solving/백준8 [백준] 2747. 피보나치 수 - 문제 풀이 (+파이썬 코드) Question. 백준 2747. 피보나치 수 피보나치 수열을 구현하는 문제이다. 예전에는 면접 질문으로도 자주 나왔다고 하는데, 요즘은 쉬워서 잘 안 나오는 것 같다. 다만, '피보나치 수를 구현하는 모든 방법은?', '피보나치 수를 각각 반복법, 재귀로 구현해보면?' 이런 식으로 물어볼 수는 있겠다. Answer. 피보나치 수열을 구현하는 방식은 크게 3가지가 있는데, 1) 재귀 2) recursion with memoization 3) for문 이용해 구현 하지만 이 문제는 1)의 방식대로 재귀로 풀면 '시간초과'가 난다. O(N)에 풀어야 하는 문제이기 때문에, 재귀로 풀 경우, memoization을 해야 한다. sol 1) recursion with memoization 재귀로 구현하되 mem.. 2021. 2. 5. [백준] 6603. 로또 - 문제 풀이 (+파이썬 코드) Question. 백준 6603. 로또 조합 문제다. 리스트에서 6개 숫자를 뽑아 만들 수 있는 조합을 사전 순으로 출력하는 것이다. Answer. python의 내장 함수 combinations를 사용하면 되지만 실제 코딩 테스트에서는 itertools를 못 쓰게 하는 경우도 있어 직접 함수를 구현했다. import sys input = sys.stdin.readline def solve(nums): results = [] def dfs(nums, pos, sublist=[]): if sublist and len(sublist) == 6: results.append(sublist[:]) for i in range(pos+1, len(nums)): dfs(nums, i, sublist + [nums[i].. 2021. 1. 17. 이전 1 2 다음 728x90