-
[프로그래머스] > DFS/BFS > 타겟넘버 [C++]알고리즘 2020. 5. 7. 02:16
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/43165
#include <string> #include <vector> int answer = 0; using namespace std; void dfs(vector<int> numbers, int target, int i, int num) { if(num==target && i==numbers.size()) { answer++; return; } if(i<numbers.size()) { dfs(numbers,target,i+1,num+numbers[i]); dfs(numbers,target,i+1,num-numbers[i]); } } int solution(vector<int> numbers, int target) { dfs(numbers,target,0,0); return answer; }
첫 번째 1에다가 +1, -1을 한 것을 구하고,
1+1과 1-1 에다가도 똑같이 +1,-1을 반복한 후 1을 5개 사용했을 때 target과 같다면 개수를 증가시킵니다.
'알고리즘' 카테고리의 다른 글
[프로그래머스]>힙>더맵게 [C++] (0) 2020.06.17 [프로그래머스]>완전탐색>모의고사 (0) 2020.06.15 [프로그래머스] > 스택/큐 > 기능개발 [C++] (0) 2019.11.12 백준 14916 거스름돈 [C++] - 동적 계획법 (0) 2019.05.28 백준 11050 이항 계수 1 [C++] - 동적 계획법 (0) 2019.05.27