티스토리 뷰

인프런 - 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
최근에 올라온 글
Total
Today
Yesterday