팩토리얼
문제 설명
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
- i! ≤ n
제한사항
- 0 < n ≤ 3,628,800
입출력 예 설명
입출력 예 #1
- 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.
입출력 예 #2
- 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.
내가 작성한 코드
import math
def solution(n):
for i in range(1,n+1):
if n < math.factorial(i):
return i-1
elif n == math.factorial(i):
return i
-> math.factorial이 있다는것을 알고있어서 구글링해서 사용법을 찾아봄!
다른 사람이 작성한 코드
from math import factorial
def solution(n):
k = 10
while n < factorial(k):
k -= 1
return k
=> 이 코드를 보고 import를 사용하는 것을 깨달았다. 제한 사항을 읽었더라면 10!까지만 돌려보아도 됐었는데.. 아숩다 나중에 참고!
회고
제한사항을 잘 읽어봤더라면 값을 정할 수 있었을 것 같다. 제한사항 잘 읽어보고 좋은 코드를 짜자.
참고 블로그
https://blockdmask.tistory.com/528
'CodingTest > 프로그래머스 (미운영)' 카테고리의 다른 글
| [프로그래머스 Lv.0] 소인수분해 (0) | 2025.08.01 |
|---|---|
| [프로그래머스 Lv.0] 모음 제거 (0) | 2025.08.01 |
| [프로그래머스 Lv.0] 합성수 찾기 (4) | 2025.08.01 |
| [프로그래머스 Lv.0] 공 던지기 (0) | 2025.07.31 |
| [프로그래머스 Lv.0] 배열 회전시키기 (0) | 2025.07.31 |