백준 문제 풀이 - 마지막 팩토리얼 수 2553번

Joonyeol Sim👨‍🎓·2021년 10월 5일
0

백준문제풀이

목록 보기
7/128

📜 문제 이해하기

N!의 값을 계산한 후에, 0이 아닌 가장 낮은 자리 수를 구하시오.
예를 들어, 4! = 24 이기 때문에, 0이 아닌 가장 낮은 자리 수는 4이다. 또, 5! = 120이기 때문에, 0이 아닌 가장 낮은 자리 수는 2 이다.

💡 문제 재정의

  1. N의 팩토리얼 수를 구한다.
  2. 팩토리얼 수에서 0이 아닌 가장 낮은 자리 수를 구한다.

✏️ 계획 수립

  1. 먼저 팩토리얼 수를 구하는 알고리즘을 사용한다.
  2. 팩토리얼 수에서 가장 낮은 자리부터 0인지 확인한다.
  3. 가장 낮은 자리가 0이라면 다음 자리로 넘어간다.
  4. 0이 아니라면 출력한다.

💻 계획 수행

import math

if __name__ == '__main__':
    n = int(input())
    fact = str(math.factorial(n))
    for i in fact[::-1]:
        if i == '0':
            continue
        else:
            print(i)
            break

🤔 회고

이 문제는 팩토리얼만 구할 수 있다면 쉽게 구할 수 있는 문제였다. 파이썬의 math모듈에는 factorial이라는 함수가 있기때문에 사용했지만 만약 구현했다면 재귀함수를 사용했을 것 같다.

profile
https://github.com/joonyeolsim

0개의 댓글