inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1 - L 재귀로 푸는 풀이

교안 수정 제안 드립니다.

해결된 질문

187

mhyim

작성한 질문수 65

1

큰돌님 안녕하세요?

해당 강의의 아래 질문과 같이 combi() 함수 구현 중 값에 의한 호출 / 참조에 의한 호출을 잘못해서 시간 초과가 발생했습니다.

 

// 해당 질문 링크

https://www.inflearn.com/course/lecture?courseSlug=10%EC%A3%BC%EC%99%84%EC%84%B1-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%81%B0%EB%8F%8C&unitId=228311&tab=community&q=1286398&category=questionDetail

 

저도 combi 함수의 파라미터인 vector<int>를 값에 의한 호출로 써서 시간 초과가 났는데요, 값에 의한 호출을 사용한 이유 중 하나는 교안에 값에 의한 호출의 combi 예제가 있고 참조에 의한 호출 combi 두 가지 예제가 있어서 값에 의한 호출 예제를 사용했습니다.

 

vector<int>의 경우 무조건(?) 참조에 의한 호출이 더 좋다면, (제가 이해한게 맞다면?)

(최신 교안 150p)

image.png

 

교안의 아래 예시도 참조에 의한 호출로 바꾸면 어떨까요?

(최신 교안 기준 165p)

image.png

 

 

c++ 코딩-테스트

답변 2

1

큰돌

안녕하세요 ㅎㅎ mhyim님 ㅎㅎ

좋은 지적이네요. 해당 부분은 오늘내로 수정하도록 하겠습니다.

 

말씀주셔서 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

mhyim님, 해당 질문에 대한 답변을 드리겠습니다.

C++에서 벡터를 매개변수로 넘길 때는 값에 의한 호출과 참조에 의한 호출이 모두 가능합니다. 값에 의한 호출은 벡터의 복사본을 생성하기 때문에 메모리 사용량이 늘어나고 성능이 저하될 수 있습니다. 반면, 참조에 의한 호출은 원본 벡터에 대한 참조만을 전달하기 때문에 복사 과정이 발생하지 않아 메모리와 성능 측면에서 효율적입니다.

교안의 예시에서 함수 호출 방식을 변경하고자 하는 제안에 대해 말씀드리자면, 알고리즘의 효율성을 높이고자 할 때는 가능한 참조에 의한 호출을 사용하는 것이 좋습니다. 따라서 교안의 예시를 반드시 참조에 의한 호출로 변경하는 것이 좋은 교육적 접근일 수 있습니다. 하지만 값에 의한 호출과 참조에 의한 호출 두 가지 방식 모두를 알고 있는 것이 중요하며, 어떤 상황에서 어느 방식을 선택해야 하는지 판단할 수 있는 능력을 기르는 것이 중요합니다.

님의 제안대로 vector와 같은 컨테이너를 사용할 때는 대부분의 경우 참조에 의한 호출을 사용하는 것이 성능상 이점을 가져옵니다. 이는 특히 대용량 데이터를 다룰 때 더욱 중요하며, 이는 강의 교안이나 코드 예제를 통해 명확히 설명되어야 합니다.

제안하신 내용을 교안 개선 제안으로 적극 반영하여, 학습자가 보다 효율적인 코드를 작성할 수 있도록 돕는 것이 좋겠습니다. 강의 내용을 검토하고 필요한 경우 업데이트하여, 좀 더 최적화된 방법을 학습자들이 이해할 수 있게 하는 것이 바람직합니다.

님의 세심한 제안 감사드리며, 앞으로도 좋은 의견 부탁드립니다!

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

41

2

2주차 개념#12 트리 순회

0

23

2

백준사이트가 종료된다고 합니다.

0

266

2

백준 서비스 종료

9

843

1

sk 하이닉스 코테 대비

0

366

2

3-G 최댓값 질문

0

50

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

82

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

101

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

167

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

50

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

67

2

함수별 시간복잡도

0

72

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2

1-I 문제 질문 드립니다.

0

76

2

2-P 질문입니다.

0

56

1

mac에서 시작하기 관련

0

91

2

5-Q 질문

0

63

2

풀이 코드 질문

0

64

2