강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

이승우님의 프로필 이미지
이승우

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님, 1-A문제 질문 드립니다.

작성

·

193

0

먼저, 선생님의 풀이가 전부 이해되고 더 좋은 방법이란 것을 알았지만, 제 풀이가 틀린 이유를 알고 싶어 질문 드립니다.
저는 9가지의 수를 입력받아 1번벡터에 입력하고, 그 수들중 7가지의 수를 고른 조합들의 합이 100이 되는 경우
2번벡터에 입력하여 그를 출력하는 방식으로 풀이하였습니다.
제가 비주얼 스튜디오에서 코딩하였을 때는 결과값이 잘 도출되었는데, 백준에 제출하면 오답으로 처리되어 어느 부분이 문제인지 고민하다 선생님께 질문드려 봅니다. 제 코드 동봉하겠습니다.
 
#include <bits/stdc++.h> using namespace std; vector<int> v, vv; //v는 다 입력받고 vv는 결과용 int a = 9, b = 7; void printV(vector<int> vv2) { sort(vv2.begin(), vv2.end()); for (int i = 0; i < b; i++) { cout << vv2[i] << "\n"; } return; } void combi(int start, vector<int> v, vector<int> vv) { if (vv.size() == b) { int sum = 0; for (int i = 0; i < b; i++) { sum += vv[i]; } if (sum == 100) { printV(vv); } return; } for (int i = start + 1; i < a; i++) { vv.push_back(v[i]); combi(i, v, vv); vv.pop_back(); } return; } int main() { for (int i = 0; i < 9; i++) { int num; cin >> num; v.push_back(num); } cin.tie(NULL); cout.tie(NULL); combi(-1, v, vv); return 0; }

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

이렇게 코드를 주시면.... 어떻게 봐요... ㅠㅠ

백준에 제출 >> 공유버튼 >> 링크로 부탁드립니다. 

감사합니다.

이승우님의 프로필 이미지
이승우
질문자

큰돌님의 프로필 이미지
큰돌
지식공유자

아 이 링크로는 못봐요. ㅎㅎ 제가 공유하기 어떻게 생성하는지 영상으로 만들어서 올려드릴게요. 해당부분 참고해서 올려주시면 됩니다. 감사합니다.

이승우님의 프로필 이미지
이승우

작성한 질문수

질문하기