나의 풀이
import math
def solution(n):
a=[]
max = -2147000000
for i in range(1, 10):
a.append(math.factorial(i))
for j in range(0, len(a)):
if n < a[j]:
return j
elif n == a[j]:
return j+1
else:
return 10
▶ 불필요하게 리스트에 넣지 말자
▶ 리스트를 사용하는 경우 인덱스까지 처리해야 된다.
▶ 비교해야할 수를 직접적으로 비교하자
▶ 비교를 반복적으로 해야하는 경우에는 while을 적극 활용하자
다른 사람의 풀이
from math import factorial
def solution(n):
k = 10
while n < factorial(k):
k -= 1
return k
▶ while문을 활용하자
▶ 수를 직접적으로 비교하자
'프로그래머스(파이썬) > LV.0(파이썬)' 카테고리의 다른 글
문자열 정렬하기(1) - 정규식★→re.sub() (0) | 2022.11.17 |
---|---|
모음제거★ → or 에 대한 개념 (0) | 2022.11.17 |
최댓값 만들기(1) - 이중 for문으로 조합사용하기 (0) | 2022.11.17 |
합성수 찾기★★-두 가지 요소가 동시에 변할 때→이중 for문 (0) | 2022.11.17 |
주사위의 개수 - 프로그래머스 (0) | 2022.11.17 |