본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

숫자 블록

by 세용용용용 2024. 7. 17.

 

코딩테스트 연습 - 숫자 블록 | 프로그래머스 스쿨 (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)) 제곱근 시간복잡도

즉, 해당 알고리즘 시간복잡도는 선형시간과 * 제곱근 시간 복잡도를 혼합한 시간 복잡도 이다!!

 

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

양궁대회  (6) 2024.07.23
조이스틱  (2) 2024.07.21
요격 시스템  (1) 2024.07.16
혼자서 하는 틱택토  (0) 2024.07.15
N-Queen  (0) 2024.07.15