Completion over Perfection

프로그래머스 - 최솟값 만들기 (파이썬3 Python3) 본문

파이썬 (Python)

프로그래머스 - 최솟값 만들기 (파이썬3 Python3)

난차차 2023. 9. 5. 01:00
반응형

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

 

프로그래머스

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

programmers.co.kr

 

단순하게 min과 max 메소드를 이용해서 풀면 되는줄 알았는데 효율성에서 0점이 나왔습니다..

프로그래머스 level2가 되니까 조금씩 문제들이 까다로워지긴 하네요. 

 

배열 A와 B의 크기가 1000까지 될 수가 있으므로 

만약 min과 max 메소드를 계산할 때마다 돌려준다면 시간초과가 나게 됩니다. 

 

따라서 처음 배열을 오름차순 또는 내림차순으로 정렬을 해 둔 뒤에 

인덱스로 접근해서 풀어야 저처럼 효율성에서 0점이 나오질 않습니다. 

 

아래 코드 참고해주세요. 

 

def solution(A,B):
    answer = 0

    A.sort()
    B.sort(reverse=True)
    
    while len(A) != 0:
        answer += A.pop() * B.pop()

    # print(answer)

    return answer

반응형
Comments