반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
풀이 및 코드
+이냐 -이냐에 따라서 모든 것을 기억을 하면 되는 문제로 dfs를 돌게 되면서
이제 모든 numbers의 인덱스를 돌게 됨녀서 target과 더하거나 뺀 숫자의 합이 같나면 answer을 +1 을 하는 식으로 코드를 진행하였습니다.
#include <string>
#include <vector>
using namespace std;
int answer=0;
void dfs(vector<int> numbers, int target, int sum, int count){
if(count==numbers.size()){
if(sum==target) answer++;
return;
}
dfs(numbers,target,sum+numbers[count],count+1);
dfs(numbers,target,sum-numbers[count],count+1);
}
int solution(vector<int> numbers, int target) {
dfs(numbers,target,0,0);
return answer;
}
간단하게 서로의 +와 -를 추가시켜 dfs를 진행하였습니다 :)
반응형
'알고리즘 > c++ 프로그래머스' 카테고리의 다른 글
[프로그래머스 k진수에서 소수 개수 구하기] c++ (풀이법,코드) (1) | 2023.05.19 |
---|---|
[프로그래머스 전화번호 목록] c++ (코드, 풀이, 개념) (0) | 2023.05.17 |
[프로그래머스 피로도] c++ (문제풀이, 개념, 코드) (0) | 2023.05.17 |
[프로그래머스 할인행사] c++ (코드 및 풀이) (1) | 2023.05.15 |
[프로그래머스 뉴스 클러스터링, 2018 카카오] c++ (풀이 및 코드) (0) | 2023.05.15 |
댓글