반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1856 : [기초-재귀함수] 계단 뛰어 오르기 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
int 형 정수(n) 1개가 입력된다.
(1 <= n <= 25)
출력
0 번째 계단에서 시작해서 한 번에 1개/2개/3개의 계단을 뛰어넘을 수 있을 때, n 번째 계단에 도착할 수 있는 방법의 가짓수를 출력한다.
예시
- 입력 : 3
- 출력 : 4
Solution (풀이)
- 풀이 : 메모리 11304, 시간 : 77
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
System.out.println(loop(count));
}
public static int loop(int count) {
if (count==1) { // 남은 갯수가 1개일때는 당연히 1번
return 1;
} else if (count==2) { // 남은 갯수가 2개일 떄는 1번 + 1개일떄 경우의 수
return 1 + loop(1);
} else if (count==3) { // 남은 갯수가 3개 일때는 1번 + 1개일때 경우의 수 + 2개일때 경우의수
return 1 + loop(1) + loop(2);
} else {
return loop(count-3) + loop(count-2) + loop(count-1); // 위 루프만큼 돌리기
}
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1853 : 재귀로 1부터 n까지 합 리턴하기 (0) | 2022.12.05 |
---|---|
[CodeUp_Java] Q1854 : 재귀로 각 자리 수의 합 리턴하기 (0) | 2022.12.05 |
[CodeUp_Java] Q1855 : 재귀로 n번째 피보나치 수 리턴하기 (0) | 2022.12.02 |
[CodeUp_Java] Q1857 : 서로 다른 n개 중에서 r개 순서없이 고르기 (0) | 2022.12.02 |
[CodeUp_Java] Q1858 : 파스칼의 삼각형 출력하기 1 (0) | 2022.12.01 |