programmers.co.kr/learn/courses/30/lessons/43165
코딩테스트 연습 - 타겟 넘버
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+
programmers.co.kr
DFS로 풀었음
answer = 0
def dfs(index, res, numbers, target) :
global answer
if index == len(numbers) :
if res == target : answer += 1
return
dfs(index+1, res + numbers[index], numbers, target)
dfs(index+1, res - numbers[index], numbers, target)
def solution(numbers, target):
global answer
dfs(0,0, numbers, target)
return answer
정확성 테스트
테스트 1 〉 | 통과 (325.72ms, 10.2MB) |
테스트 2 〉 | 통과 (322.01ms, 10.1MB) |
테스트 3 〉 | 통과 (0.64ms, 10.1MB) |
테스트 4 〉 | 통과 (1.82ms, 10.3MB) |
테스트 5 〉 | 통과 (10.15ms, 10.2MB) |
테스트 6 〉 | 통과 (1.09ms, 10.2MB) |
테스트 7 〉 | 통과 (0.63ms, 10.2MB) |
테스트 8 〉 | 통과 (3.24ms, 10.1MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
'코테' 카테고리의 다른 글
[프로그래머스] <단어 변환> 파이썬 (0) | 2021.02.06 |
---|---|
[프로그래머스] <네트워크> 파이썬 (0) | 2021.02.06 |
[프로그래머스] <섬 연결하기> 파이썬 (0) | 2021.02.02 |
[프로그래머스] <구명보트> 파이썬 (0) | 2021.02.02 |
[프로그래머스] <큰 수 만들기> 파이썬 풀이 (0) | 2021.02.01 |