(Swift) 백준 10872 팩토리얼

SteadySlower·2022년 5월 25일
0

Coding Test

목록 보기
46/305

10872번: 팩토리얼

반복문을 활용한 방법 🤷‍♂️

import Foundation

let n = Int(readLine()!)!

if n == 0 {
    print(1)
    exit(0)
}

var result = 1

for i in 1...n {
    result *= i
}

print(result)
  1. 약간 덜 세련된(?) 방식입니다.
  2. 중간에 0이 입력되는 경우 예외처리를 따로 해주어야 합니다. (실행이 종료되도록)
  3. 1에 1 ~ n까지 곱해주고 출력합니다.

재귀함수를 활용하는 방법 🙆‍♂️

func factorial(_ n: Int) -> Int {
    if n <= 1 {
        return 1
    }
    return n * factorial(n - 1)
}

let n = Int(readLine()!)!

print(factorial(n))
  1. 탈출 조건은 n이 1 이하가 되었을 때 입니다.
    1. 탈출 조건으로 인해 0이 입력되는 경우 별도의 예외 처리가 필요 없습니다.
  2. n에 factorial(n - 1)을 곱해 리턴합니다.
profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글