1-L 재귀함수로 푸는 문제 질문있습니다
259
작성한 질문수 22
안녕하세요 큰돌님 강의 잘 듣고 있습니다!
맨 처음에 1-L문제를 재귀함수를 통해서 구현을 했는데 시간초과가 나서 재귀함수를 하면 안되는 줄 알고 중첩for문을 이용해서 풀이를 했는데 나중에 큰돌님 풀이를 보니까 재귀함수를 통해서도 풀이를 할 수가 있더라구요!
그래서 다른 점을 보니까 큰돌님은 combi함수를 작성하실때 vector<int>& v를 이용하셨고 저는 vector<int> v를 인수로 전달했더라구요.
vector<int>& v는 기존의 값을 참조해서 하는 것이이고 vector<int> v는 새로운 객체를 생성하는 것으로 알고 있는데 왜 이 두가지 때문에 차이점이 발생하는 것일까요?
아래는 제가 시간초과가 났던 풀이 입니다!
http://boj.kr/2b3c39a006f6480cae668c4c37fde14f
답변 2
0
안녕하세요 라영님 ㅎㅎ
vector<int>& v는 기존의 값을 참조해서 하는 것이이고 vector<int> v는 새로운 객체를 생성하는 것으로 알고 있는데 왜 이 두가지 때문에 차이점이 발생하는 것일까요?
>> 이부분은 교안내의 다음 부분 참고부탁드립니다.

또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다.
김라영님의 질문에 대한 해결책이 될 수 있을 만한 관련 내용에 대해 찾아보았습니다.
재귀함수에서 vector<int> v와 vector<int>& v를 사용할 때의 성능 차이에 관한 질문이었습니다. 여기에서 중요한 점은 vector<int> v를 사용하면 함수 호출 시 마다 벡터의 복사본을 생성하게 되어 메모리 사용량과 시간이 증가하는 반면, vector<int>& v를 사용하면 기존 벡터의 참조만을 전달하기 때문에 복사본을 생성하지 않고 원본 벡터에 대한 변경이 가능하여 성능면에서 우월합니다.
이와 유사한 상황에 대한 설명이 있는 기존의 답변에서는 벡터를 복사하는 것과 참조를 통해 전달하는 것의 차이점에 대해 다루고 있었습니다. 이 차이가 왜 시간 초과로 이어질 수 있는지 설명하고 있습니다.
참고 답변:
6-H번 질문있습니다.에서는 벡터의 복사본 생성으로 인해 성능 저하가 생기는 예를 설명하고 있으며, 이 문제를 해결하기 위해 참조자를 사용하는 것이 좋다고 설명합니다.
1-L 시간초과 질문에서도 시간초과 문제에 대한 해결 방법을 제시하고 있는데, 재귀함수 대신 반복문을 사용하여 성능을 개선할 수 있다고 제안합니다. 여기서 중요한 점은 성능을 위해 코드 작성 방식에 대해서도 신경 써야 한다는 것입니다.
김라영님의 질문 상황에서 직접적으로 관련된 6-H번 질문있습니다.의 답변은 벡터를 인자로 넘길 때 참조로 넘기는 것과 값으로 넘기는 것의 차이점과 이러한 차이가 성능에 어떻게 영향을 미치는지를 잘 설명하고 있습니다. 이러한 이유로 시간 초과가 발생할 수 있음을 이해할 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
4-F 경우의 수 질문입니다.
0
6
1
코딩살구클럽 가입이 안됩니다.
0
27
0
살구 클럽에 대한 질문있습ㄴ디ㅏ
0
34
1
교안 158페이지 문의드립니다
0
34
2
코딩살구클럽 관련 건의사항
0
80
1
코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다
0
35
1
진행 방법 질문드립니다!
0
68
2
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
60
2
2주차 개념#12 트리 순회
0
31
2
백준사이트가 종료된다고 합니다.
0
294
2
백준 서비스 종료
9
908
1
sk 하이닉스 코테 대비
0
375
2
3-G 최댓값 질문
0
52
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
84
2
3-I 코드 질문드립니다.
0
63
2
3-N 질문 있습니다.
0
68
2
학습방법
0
103
2
4-H 질문 있습니다 (코드 리뷰)
0
67
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
175
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
70
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
65
2
1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.
0
52
2
조합 재귀 풀이 확인 해주시면 감사하겠습니다.
0
69
2
함수별 시간복잡도
0
75
2





