[프로그래머스] 고득점Kit (8) - DFS/BFS (파이썬)
1. 타겟 넘버 (Lv. 2) # 타겟 넘버 def solution(numbers, target): answer = 0 def dfs(target, k, result): nonlocal answer if k == len(numbers): if target == result: answer += 1 return else: dfs(target, k+1, result+numbers[k]) dfs(target, k+1, result-numbers[k]) dfs(target, 0, 0) return answer 재귀 함수를 이용한 dfs로 풀었다. k == len(numbers) 일 경우, target과 같은지 확인 return answer 2. 네트워크 (Lv. 3) # 네트워크 from collections i..
2022. 3. 11.
[프로그래머스] 고득점Kit (5) - 완전탐색 (파이썬)
1. 모의고사 (Lv. 1) # 모의고사 def solution(answers): answer = [] one = [1, 2, 3, 4, 5] two = [2, 1, 2, 3, 2, 4, 2, 5] thr = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] one = one*(len(answers)//len(one)) + one[:(len(answers) % len(one))] two = two*(len(answers)//len(two)) + two[:(len(answers) % len(two))] thr = thr*(len(answers)//len(thr)) + thr[:(len(answers) % len(thr))] result = [0, 0, 0] for i in range(len(answe..
2022. 3. 4.