인프런 - it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 강의를 바탕으로 공부한 내용입니다.
문제는 비공개로 입력예제와 출력예제만을 가지고 포스팅
입력예제 1
3
출력예제 1
1 2 3
풀이
- 재귀함수로 1,2,3 출력
- 재귀함수 위치에 따라서 출력 순서가 달라진다.
recur(1) (매개변수, 복귀주소, 지역변수) recur(2) (매개변수, 복귀주소, 지역변수) recur(3) (매개변수, 복귀주소, 지역변수) main (매개변수, 복귀주소, 지역변수) |
- 이 순서대로 쌓여서 실행되어 1, 2, 3 출력이 가능하다.
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <stack>
using namespace std;
//56. 스택활용 재귀
void recur(int x){
if(x==0) return; //종료지점
else {
//종료지점이 아닐 때
recur(x-1);
printf("%d ", x);
}
}
int main(){
int n;
scanf("%d", &n);
recur(n);
return 0;
}
'알고리즘' 카테고리의 다른 글
59. 부분집합 [DFS] (0) | 2021.01.08 |
---|---|
57. 재귀함수 이진수 출력 [stack 이용] (0) | 2021.01.07 |
55. 기차운행[stack 활용] (0) | 2021.01.05 |
54. 올바른 괄호[stack 활용] (0) | 2021.01.04 |
53. K진수 (0) | 2020.12.31 |