키워드
1. 블록은 10000000을 넘어가지 않는다.
2. 1을 제외한 가장 작은 약수로 나눈 몫이 답인데, 10000000을 넘어가면 안된다.
위의 2가지 키워드를 가지고 풀면 쉽다.
만약 가장 작은 약수로 나눈 몫이 10000000을 넘어간다면, 가장 작은 약수가 답이 될 수도 있기 때문에 수를 따로 저장해놔야한다.
def solution(begin, end):
answer = []
for i in range(begin, end + 1):
min_num = 1
max_num = 1
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
if i // j <= 10000000:
min_num = j
answer.append(i // j)
break
else:
max_num = j
if i == 1:
answer.append(0)
elif min_num == 1:
answer.append(max_num)
return answer
0이 너무 많아 십만인지 백만인지 헷갈리네요. 직관적으로 표기 부탁드립니다.