본문 바로가기

코딩

[파이썬] 코딩테스트 연습 레벨2 N개의 최소공배수

반응형

<테스트 케이스만 통과하는 풀이>

def solution(arr):
    answer = 1
    a=arr[0]
    for i in range(1, len(arr)):
        b=arr[i]
        if b%a==0:
            arr[i]= b//a
    for j in arr:
        answer *= j
    return answer

 

<이걸 while문으로 반복시키면 통과할 것 같은 예감이 드는 풀이>

def solution(arr):
    answer = 1
    a=arr[0]
    for i in range(1, len(arr)):
        b=arr[i]
        if b%a==0:
            arr[i]= b//a
    a=arr[1]
    for k in range(2, len(arr)):
        b=arr[i]
        if b%a==0:
            arr[i]= b//a
    for j in arr:
        answer *= j
    return answer

 

<while문 반복 시켰는데도 안되는 이유가 뭐지?>

def solution(arr):
    answer = 1
    i=1
    c=len(arr)
    k=0
    while c-1>=k and c-1 >=i:
        a=arr[i-1]
        for i in range(i, c):
            b=arr[i]
            if b%a==0:
                arr[i]= b//a
        k+=1
        i=k+1
    for j in arr:
        answer *= j
    return answer

 

https://school.programmers.co.kr/learn/courses/30/lessons/12953

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형