코딩테스트 파이썬/파이썬 프로그래머스 2단계
숫자 블록
세용용용용
2024. 7. 17. 10:59


코딩테스트 연습 - 숫자 블록 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이
# 2024-07-17
# 자신을 제외한 가장 큰 약수 찾기
def append_value(number):
answer=1
if number==1:
return 0
for i in range(2, int(number**(1/2))+1):
if number%i==0:
answer=i
if number//i<=10000000:
answer=number//i
break
return answer
def solution(begin, end):
answer = []
for i in range(begin, end+1):
answer.append(append_value(i))
return answer
시간 복잡도
for i in range(begin, end+1) : 선형 시간 복잡도
aksu함수 : 입력값에 따라 제곱근 시간 복잡도를 가짐 (i**(1/2)) 제곱근 시간복잡도
즉, 해당 알고리즘 시간복잡도는 선형시간과 * 제곱근 시간 복잡도를 혼합한 시간 복잡도 이다!!