문제는 이런거였고,
재귀함수를 사용해 풀었다.
- 처음에 1로 시작했을때
-처음에 2로 시작했을때를
나눠서 방법을 다르게 하였고, left를 통해 남은 계단의 수를 체크해주었다.
남은 계단의 수가 0일때 방법의 수(count)를 1씩 증가시켜 마지막에 count를 출력해주었다.
#include <stdio.h>
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
int count=0;
int calculate(int num, int left){
if(num==1){
left-=1;
}
else if(num==2){
left-=2;
}
if(left==0){
count++;
return 0;
}
else{
if(left>=1)
calculate(1,left);
if(left>=2)
calculate(2,left);
}
}
int main()
{
int num;
int left;
cin >>num;
left=num;
if(left>=1){
calculate(1,left);
}
if(left>=2){
calculate(2,left);
}
cout<<count;
return 0;
}
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 - 해시/ 전화번호 목록 JAVA (0) | 2020.09.12 |
---|---|
프로그래머스 - 프린터 c++ (1) | 2020.07.29 |
백준 2493 탑 c++ (0) | 2020.07.29 |
교내 코딩테스트 강의 1주차 (0) | 2020.07.08 |
프로그래머스 - 힙/ 더 맵게 문제 c++ (0) | 2020.07.03 |