inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1주차 개념 #1. 시간복잡도(time complexity)

요약본 질문

203

시타포르-

작성한 질문수 12

0

안녕하세요! 여기다가 질문을 적어도 되는지 모르겠는데, 혹시 몰라 적어보겠습니다. 현재 요약본을 보면서 공부를 하고 있는데, 재귀함수가 너무 어려워 작은 해설을 부탁드리고 싶습니다

 

#include <cstdio>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

int a[3] = {1, 2, 3};
vector<int> v;

void printV(vector<int> &v){
	for(int i = 0; i < v.size(); i++){
		cout << v[i] << " ";
		}
	cout << "\n";
}

void makePermutation(int n, int r, int depth){
	
    cout << "depth : " << depth << '\n';
    
    if(r == depth) {
	printV(v);
	return;
	}
    
    cout << "depth = " << depth << '\n';

	for(int i = depth; i < n; i++) {
		swap(v[i], v[depth]);
		makePermutation(n, r, depth + 1);
		swap(v[i], v[depth]);
		}
	return;
}

int main(){
	for(int i = 0; i < 3; i++) v.push_back(a[i]);
	makePermutation(3, 3, 0);
	return 0;
}
결과
depth : 0
depth = 0
depth : 1
depth = 1
depth : 2
depth = 2
depth : 3
1 2 3  <= 여기까지는 이해가 갑니다만
depth : 2 <= 이 값이 어째서 3이 아닌 2로 줄어들었는지 궁금합니다
depth = 2
depth : 3
1 3 2
depth : 1
depth = 1
depth : 2
depth = 2
depth : 3
2 1 3
depth : 2
depth = 2
depth : 3
2 3 1
depth : 1
depth = 1
depth : 2
depth = 2
depth : 3
3 2 1
depth : 2
depth = 2
depth : 3
3 1 2

 

C++ 코테 준비 같이 해요!

답변 1

1

큰돌

안녕하세요. ㅎㅎ

재귀함수가 이해가 안되신다는 말씀이시죠? 

해당부분은 제가 이번주 내로 강의영상을 찍어서 올리도록 하겠습니다. 

 - 최대한 빨리 올리도록 할게요. ㅎ

올리고 나서 새소식에 업데이트 사항 올릴테니 그 때 봐주시면 됩니다. 

 

감사합니다. 

강사 큰돌 올림. 

1-E질문입니다!

0

533

2

3-L 틀린 부분 피드백 부탁드립니다.

0

836

2

1-A문제 순열재귀함수 질문입니다.

0

396

1

1-A 일곱난쟁이문제입니다

0

471

1

문제 풀 때 방향성에 대해

0

811

1

맥에서 vs code로 실행 관련 질문입니다

0

530

1

17071번 메모리 초과

0

390

1

1-C질문입니다!

0

428

2

2-B BFS 시간초과질문

0

638

2

1-O 13번 라인

0

447

1

6-J 놀이공원 문제 질문

0

390

1

구현관련 질문

0

492

1

강의 교안

0

322

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

550

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

540

1

1-K

0

481

2

3-G번 질문있습니다.

1

481

3

3-C 실행 시간 질문드립니다.

0

504

1

4-A 문제 풀이 질문있습니다.

0

602

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

441

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

349

1

3-O go 함수 질문 드립니다.

1

453

2

4-A 출력 질문

0

308

1

1주차 1-O 질문드립니다

0

266

1