강의로 돌아가기
Def dict

효율성 테스트

def solution(n, works):
    for i in [1] * n:
        works.sort(reverse=True)
        if works[0] == 0:
           break 
        works[0] = works[0] - i
    for i in works:
        works[works.index(i)] = i ** 2
    return sum(works)

<그냥 for 문으로 각각 구해 더하기>

def solution(n, works):
    for i in [1] * n:
        works.sort(reverse=True)
        if works[0] == 0:
           break 
        works[0] = works[0] - i
    res = 0
    for i in works:
        res += i ** 2
    return res

두 방식 모두 같은것 같은데..

이런식으로 작성했는데 마지막의 효율성 테스트에서 시간 초과로 막히네요..

혹시 여기서 잘못된 부분을 아시는 분은 좀 알려주시면 감사드리겠습니다.

  • Def dict
    언어는 파이썬입니다. Def dict 2018.07.10 22:32
1 개의 답변
Def dict
테스트 1  통과 (0.15ms)
테스트 2  통과 (0.14ms)
테스트 3  통과 (0.14ms)
테스트 4  통과 (0.16ms)
테스트 5  통과 (0.14ms)
테스트 6  통과 (0.14ms)
테스트 7  통과 (0.14ms)
테스트 8  통과 (8.17ms)
테스트 9  통과 (16.85ms)
테스트 10     통과 (0.15ms)
테스트 11     통과 (0.14ms)
테스트 12     통과 (0.14ms)
테스트 13     통과 (0.15ms)
  • Lee Sangjoon
    ㄷㄷ Lee Sangjoon 2018.09.11 17:28
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.