[프로그래머스] Lv 0 팩토리얼 - Python

2022. 12. 26. 19:49·Programming/알고리즘
728x90

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120848

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

 

2. 제한사항

 

3. Python code

def solution(n):
    answer = 1
    fac = 1
    while fac <= n :
        answer += 1
        fac = fac * answer
    answer = answer-1
    
    return answer

while 문으로 factorial을 구현했다.

 

from math import factorial

def solution(n):
    answer = 10
    while n < factorial(answer):
        answer -= 1
    return answer

math의 factorial을 사용한 코드

제한사항에 n은 2!보다 같거나 작다고 했으므로 10부터 1씩 빼주면서 확인한다.

저작자표시 비영리 변경금지 (새창열림)
'Programming/알고리즘' 카테고리의 다른 글
  • [프로그래머스] Lv 0 문자열 정렬하기 (1) - Python
  • [프로그래머스] Lv 0 배열 회전시키기 - Python
  • [프로그래머스] Lv 0 2차원으로 만들기 - Python
  • [프로그래머스] Lv 0 구슬을 나누는 경우의 수 - Python
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (70)
      • Programming (62)
        • Python (14)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (4)
        • Airflow (3)
        • Django (1)
      • Infra (3)
        • Docker (3)
        • Linux (0)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    [프로그래머스] Lv 0 팩토리얼 - Python
    상단으로

    티스토리툴바