[Problem Solving/Java] 백준 10872번 - 팩토리얼

2024. 1. 5. 15:50·알고리즘 문제 풀이 (Problem Solving)

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.

출력

첫째 줄에 N!을 출력한다.

첫 번째 시도

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static int fact(int num) {
        if (num == 0) {
            return 1;
        } else {
            return num * fact(num - 1);
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        System.out.println(fact(a));
    }
}

해결 방법

재귀함수를 쓸 때 return 에 변수와 함수 자기 자신을 써서 팩토리얼 계산을 했다. if문으로 num이 0일 경우를 찾아 return 1로 했다. 

어려웠던 점 / 고쳐야할 점

재귀함수 개념이 익숙치 않았다. 

반응형

'알고리즘 문제 풀이 (Problem Solving)' 카테고리의 다른 글

[Problem Solving/Java] 백준 2447번 - 별 찍기 - 10  (0) 2024.01.08
[Problem Solving/Java] 백준 10870번 - 피보나치 수 5  (0) 2024.01.05
[Problem Solving/Java] 백준 10757번 - 큰 수 A+B  (0) 2024.01.05
[Problem Solving/Java] 백준 2839번 - 설탕 배달  (2) 2024.01.05
[Problem Solving/Java] 백준 2775번 - 부녀회장이 될테야  (0) 2024.01.05
'알고리즘 문제 풀이 (Problem Solving)' 카테고리의 다른 글
  • [Problem Solving/Java] 백준 2447번 - 별 찍기 - 10
  • [Problem Solving/Java] 백준 10870번 - 피보나치 수 5
  • [Problem Solving/Java] 백준 10757번 - 큰 수 A+B
  • [Problem Solving/Java] 백준 2839번 - 설탕 배달
LoopThinker
LoopThinker
모르는 것을 알아가고, 아는 것을 더 깊게 파고드는 공간
  • LoopThinker
    CodeMemoir
    LoopThinker
  • 전체
    오늘
    어제
    • 분류 전체보기 (216)
      • 개발 (Development) (151)
        • Algorithm (1)
        • Angular (1)
        • AWS (4)
        • DeepSeek (2)
        • Docker (7)
        • Git (3)
        • Java (30)
        • JavaScript (4)
        • Kafka (5)
        • Kubernetes (4)
        • Linux (6)
        • PostgreSQL (37)
        • Python (26)
        • React (3)
        • TypeScript (3)
        • Vue.js (5)
        • General (10)
      • 데이터 분석 (Data Analysis) (1)
      • 알고리즘 문제 풀이 (Problem Solving.. (27)
      • 자격증 (Certifications) (24)
        • ADsP (14)
        • 정보처리기사 (4)
        • Linux Master (5)
        • SQLD (1)
      • 기술 동향 (Tech Trends) (10)
      • 기타 (Others) (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    typescript
    Kafka
    리눅스 마스터 2급
    AWS
    springboot
    ADsP
    리눅스 마스터 2급 2차
    java
    Kubernetes
    백준자바
    Vue.js
    timescaledb
    deepseek
    PostgreSQL
    python
    데이터분석
    JPA
    Linux master
    MyBatis
    백준알고리즘
    pandas
    백준
    JSON
    docker
    오답노트
    DevOps
    백준온라인저지
    javascript
    Linux
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
LoopThinker
[Problem Solving/Java] 백준 10872번 - 팩토리얼
상단으로

티스토리툴바