📚 목차
#include <string>
#include <vector>
using namespace std;
int CalcTotal(int num, int nValue, int nCount, int nSum)
{
if (nCount == num)
return nSum;
else
{
nCount++;
nSum += nValue;
return CalcTotal(num, nValue + 1, nCount, nSum);
}
}
vector<int> solution(int num, int total) {
vector<int> answer;
int nAnswer, nFindValue;
int i = -100;
while(true)
{
nFindValue = CalcTotal(num, i, 0, 0);
nAnswer = i;
if (total == nFindValue)
{
for (int i = nAnswer; i < nAnswer + num; i++)
answer.push_back(i);
break;
}
i++;
}
return answer;
}
이번 문제는 그냥
딱 보고 재귀함수 써서 넘겨받은 숫자만큼
돌고 확인해보면 되지 않을까 싶어서
재귀함수 연습도 해볼겸 써서 해봤다.
여기서 제대로 해결하지 못한 부분은
-값부터 시작해서 값을 만들수 있는 부분인데,
이 부분도 역시 while 써서 그냥 대강 때려맞춰서 풀어버렸다.
이런 형태로 풀지 않으려면 알고리즘을 좀 더 잘 짜야할텐데..
에자일 형태의 개발을 오래하다 보니 짧은 시간 안에
결과를 뽑아내야 해서 생각할 시간 없이 짜다보니
이런 습관이 든 것 같다.
풀고 나서 다른사람들 문제풀이 보니깐
아직 한참 먼 것 같더라..
개발은 머리가 좋아야 하는게 맞는 것 같다.
문제 풀이는
그냥 입력받은 값부터 +1씩 입력받은 숫자만큼
재귀함수 타서 원하는 값과 일치하면
빠져나오게끔 해뒀다.
'C, C++ > 코딩테스트 입문 난이도' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 난이도 - 잘라서 배열로 저장하기 (0) | 2023.06.25 |
---|---|
프로그래머스 코딩테스트 입문 난이도 - 문자열 밀기 (0) | 2023.06.25 |
프로그래머스 코딩테스트 입문 난이도 - 종이 자르기 (0) | 2023.06.25 |
프로그래머스 코딩테스트 입문 난이도 - 다음에 올 숫자 (0) | 2023.06.25 |
프로그래머스 코딩테스트 입문 난이도 - 옹알이(1) (0) | 2023.06.25 |