[백준] 10872번 - 팩토리얼 (파이썬)

2022. 7. 26. 16:46·🎲 알고리즘 공부/백준

📝 문제 설명

>

[설명] 팩토리얼 함수란 n이 주어졌을 때, 1부터 n까지 모두 곱한 값을 구하는 함수다. 예를 들면, 5! 값은 5 * 4 * 3 * 2 * 1 인 120이다. 

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

입출력 예시

 

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

 

10872번: 팩토리얼

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

www.acmicpc.net


🎨 풀이

💡 전체 코드

def factorial(num):
    if num > 1:
        return num * factorial(num-1)
    else : 
        return 1

n = int(input())
print(factorial(n))

> 핵심 : 재귀 함수 사용!

재귀함수 이해를 위한 그림!

factorial(1) 전까지는 계속 호출만 하다가 num이 1이 되었을 때 부터는 쭉 계산해서 쭉쭉 위로 올라가는 느낌으로 이해하면 된다.                          

 

🍦 코드 설명 (실행 순서대로 나열)

# main

n = int(input())
print(factorial(n))

1. n을 입력받는다.

2. factorial 함수를 실행한다. (출력은 실행 순서상 맨 마지막!!!! 아직 출력은 안한다!) 

 

# factorial

def factorial(num):
    if num > 1:
        return num * factorial(num-1)
    else : 
        return 1

3. 만약 num이 1 이상이라면 num * factorial(num-1)을 리턴한다.

4. 만약 num이 1이라면 1을 return한다.

 

# main

print(factorial(n))

5. factorial(n) 함수에서 리턴된 값을 출력한다.


​끝~

 

⭐ 느낀점

> 하하. 재귀 너무 어렵다. ㅠㅠ 어려운데 이게 또 잘 활용하고 해내면 뭔가 뿌듯할 것 같기도 하고 그러네. 파이팅해보자구~

 

'🎲 알고리즘 공부 > 백준' 카테고리의 다른 글

[백준] 17478번 - 재귀함수가 뭔가요? (파이썬)  (0) 2022.07.28
[백준] 10870번 - 피보나치 수 5 (파이썬)  (0) 2022.07.27
[백준] 1026번 - 보물 (파이썬)  (0) 2022.07.25
[백준] 11047번 - 동전 0 (파이썬)  (0) 2022.07.24
[백준] 1003번 - 피보나치 함수 (파이썬)  (0) 2022.07.23
'🎲 알고리즘 공부/백준' 카테고리의 다른 글
  • [백준] 17478번 - 재귀함수가 뭔가요? (파이썬)
  • [백준] 10870번 - 피보나치 수 5 (파이썬)
  • [백준] 1026번 - 보물 (파이썬)
  • [백준] 11047번 - 동전 0 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (267)
      • 📑 신입일기 (35)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 📘 독서 (0)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    오버워치
    코린이
    정보처리기사
    백준
    피보나치수
    코테
    신입일기
    폰켓몬
    codeup
    스프링 부트
    BOJ
    연습문제
    파이썬
    행렬덧셈
    50문답
    티스토리챌린지
    nodejs
    오블완
    컨텐더스
    코드업
    6월 목표
    찬양추천
    스프링부트
    til
    충무로
    프로그래머스
    카카오
    코민이
    정처기
    일기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[백준] 10872번 - 팩토리얼 (파이썬)
상단으로

티스토리툴바