Where who wants to meet someone

백준 Swift [27433] 팩토리얼 2 본문

백준 알고리즘 문제 기록/재귀

백준 Swift [27433] 팩토리얼 2

Lust3r 2023. 9. 12. 13:23
728x90

난이도

브론즈 V

 

문제

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

 

27433번: 팩토리얼 2

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

www.acmicpc.net

 

내 답안

func factorial(from value: Int) -> Int {
    if value <= 1 {
        return 1
    }

    return value * factorial(from: value - 1)
}

print(factorial(from: Int(readLine()!)!))
  • 이전에 factorial 재귀 함수를 만들어 써봤기에 비교적 쉽게 의도대로 풀 수 있었음.
  • 팩토리얼은 그 수부터 1까지 곱하는 것이기 때문에, 값이 1 이하이면 1을 반환하고, 아니라면 주어진 값 * (주어진 값 - 1)!을 하는 식으로 구할 수 있다.