https://school.programmers.co.kr/learn/courses/30/lessons/43165
문제 해결 과정
착안
주어지는 숫자들을 하나씩 순차적으로 더하거나 뺀 결과값을 구하는 재귀 함수를 만들어 문제를 해결한다.
구현
[스포 주의] 아래 '더보기'를 누르면 코드가 나오니 주의하세요~
더보기
#include <vector>
using namespace std;
void Add(const vector<int>& v, const int& t, int& cnt, int i, int sum)
{
if (i == v.size())
{
if (t == sum)
cnt++;
return;
}
Add(v, t, cnt, i + 1, sum + v[i]);
Add(v, t, cnt, i + 1, sum - v[i]);
}
int solution(vector<int> numbers, int target)
{
int answer = 0;
Add(numbers, target, answer, 1, numbers[0]);
Add(numbers, target, answer, 1, -numbers[0]);
return answer;
}
실행 결과
'C++ 코딩 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Programmers] 전화번호 목록 (0) | 2024.01.07 |
---|---|
[Programmers] [1차] 뉴스 클러스터링 (0) | 2024.01.06 |
[Programmers] 기능개발 (0) | 2024.01.05 |
[Programmers] 의상 (0) | 2024.01.02 |
[Programmers] 행렬의 곱셈 (0) | 2024.01.02 |
댓글