일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 적용우선순위
- WeNews
- subquery
- application.yml
- ㅔㄴ션
- 커밋메세지수정
- MySQL
- docker명령어
- 외부키
- 검색
- EC2
- foreignkey
- 컨테이너실행
- Query
- 테스트메소드
- 포트
- AuthenticationEntryPoint
- 서브쿼리
- 테스트
- 참조키
- 메소드명
- 추후정리
- appspec
- appspec.yml
- 메세지수정
- 네이티브쿼리
- 2 > /dev/null
- querydsl
- ubuntu
- 예약
Archives
- Today
- Total
제뉴어리의 모든것
백준 10872 - 팩토리얼 (재귀) 본문
아주 심플하고 아주아주 베이직한 재귀 문제.
설명이 필요없다. 그냥 초심으로 풀어봤다.
내 코드
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(getFactorial(n));
}
public static int getFactorial(int n)
{
if(n <= 1)
return 1;
return n * getFactorial(n-1);
}
}
재귀 함수 설계시 알아야할점.
1. 당연히 재귀함수 내에 자기 자신함수를 호출하는 부분이 있어야함.
2. 처리하는 대상을 쪼개고 쪼개 결국 더이상 쪼개지는 않는 값이 무엇인지 생각을 해보아야함 (여기서는 1에 해당)
3. 더이상 쪼개지지 않는 값이 input으로 들어왔을때 리턴을 해주고
그렇지 않은 경우는 계속 본인 함수를 호출하는 개념을 기억해둘것.
아래는 본문
팩토리얼 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 256 MB | 106634 | 54429 | 45111 | 51.366% |
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1 복사
10
예제 출력 1 복사
3628800
예제 입력 2 복사
0
예제 출력 2 복사
1
출처
'알고리즘' 카테고리의 다른 글
[dp] 백준 2293 동전1 (0) | 2022.09.29 |
---|---|
백준 17478 - 재귀함수가 뭔가요? (재귀) (0) | 2022.07.24 |
백준 1436 - 영화감독 숌 (브루트포스) (0) | 2022.04.21 |
백준 1018 - 체스판 다시 칠하기 (브루트포스) (0) | 2022.04.21 |
백준 2231 - 분해합 (브루트포스) (0) | 2022.04.13 |