ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠키 구입
    코딩 테스트/Level 4 2022. 12. 4. 21:28
    반응형

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

    def solution(cookie):
        def total(a, b):
            return totals[b] - totals[a]
    
        totals = [0]
        for index, each in enumerate(cookie):
            totals.append(totals[index] + each)
        answers = set()
        total_max = sum(cookie) / 2
        for mid in range(1, len(cookie)):
            first_total_set = set()
            for first in range(mid, - 1, -1):
                first_total = total(first, mid)
                if first_total > total_max:
                    break
                first_total_set.add(first_total)
            end_total_set = set()
            for end in range(mid + 1, len(cookie) + 1):
                end_total = total(mid, end)
                if end_total > total_max:
                    break
                end_total_set.add(end_total)
            answers.update(first_total_set.intersection(end_total_set))
        return max(answers) if answers else 0
    정확성  테스트
    테스트 1 〉	통과 (0.01ms, 10.2MB)
    테스트 2 〉	통과 (0.17ms, 10.4MB)
    테스트 3 〉	통과 (0.69ms, 10.3MB)
    테스트 4 〉	통과 (0.32ms, 10.2MB)
    테스트 5 〉	통과 (0.80ms, 10.2MB)
    테스트 6 〉	통과 (25.49ms, 10.3MB)
    테스트 7 〉	통과 (45.46ms, 10.3MB)
    테스트 8 〉	통과 (60.68ms, 10.4MB)
    테스트 9 〉	통과 (153.52ms, 10.6MB)
    테스트 10 〉	통과 (0.02ms, 10.2MB)
    테스트 11 〉	통과 (0.02ms, 10.2MB)
    테스트 12 〉	통과 (0.01ms, 10.2MB)
    테스트 13 〉	통과 (0.04ms, 10.2MB)
    테스트 14 〉	통과 (1.85ms, 10.2MB)
    테스트 15 〉	통과 (1.72ms, 10.2MB)
    테스트 16 〉	통과 (1.75ms, 10.3MB)
    테스트 17 〉	통과 (1.67ms, 10.3MB)
    테스트 18 〉	통과 (2.11ms, 10.2MB)
    테스트 19 〉	통과 (1.55ms, 10.2MB)
    테스트 20 〉	통과 (1.57ms, 10.3MB)
    테스트 21 〉	통과 (1.91ms, 10.4MB)
    테스트 22 〉	통과 (0.44ms, 10.1MB)
    테스트 23 〉	통과 (155.15ms, 10.4MB)
    테스트 24 〉	통과 (1.62ms, 10.2MB)
    테스트 25 〉	통과 (1.79ms, 10.4MB)
    테스트 26 〉	통과 (157.29ms, 10.3MB)
    효율성  테스트
    테스트 1 〉	통과 (159.36ms, 10.3MB)
    테스트 2 〉	통과 (155.15ms, 10.4MB)
    테스트 3 〉	통과 (164.42ms, 10.4MB)
    테스트 4 〉	통과 (162.16ms, 10.4MB)
    테스트 5 〉	통과 (179.89ms, 10.3MB)
    테스트 6 〉	통과 (578.46ms, 10.3MB)
    테스트 7 〉	통과 (601.22ms, 10.3MB)
    테스트 8 〉	통과 (587.23ms, 10.5MB)

    헐 이런 게 있다니..
    속도마저..
    https://docs.python.org/ko/3/library/itertools.html#itertools.accumulate

    def solution(cookie):
        from itertools import accumulate
        answer = 0
        for mid in range(1, len(cookie)):
            if temp := set(accumulate(cookie[mid - 1::-1])) & set(accumulate(cookie[mid:])):
                answer = max(answer, *temp)
        return answer
    정확성  테스트
    테스트 1 〉	통과 (0.00ms, 10.3MB)
    테스트 2 〉	통과 (0.07ms, 10.3MB)
    테스트 3 〉	통과 (0.12ms, 10.2MB)
    테스트 4 〉	통과 (0.18ms, 10.1MB)
    테스트 5 〉	통과 (0.29ms, 10.1MB)
    테스트 6 〉	통과 (8.97ms, 10.2MB)
    테스트 7 〉	통과 (19.18ms, 10.3MB)
    테스트 8 〉	통과 (22.82ms, 10.3MB)
    테스트 9 〉	통과 (50.48ms, 10.2MB)
    테스트 10 〉	통과 (0.01ms, 10MB)
    테스트 11 〉	통과 (0.01ms, 10.2MB)
    테스트 12 〉	통과 (0.01ms, 10.2MB)
    테스트 13 〉	통과 (0.02ms, 10.1MB)
    테스트 14 〉	통과 (0.69ms, 10.1MB)
    테스트 15 〉	통과 (0.60ms, 10.1MB)
    테스트 16 〉	통과 (0.70ms, 10.3MB)
    테스트 17 〉	통과 (0.63ms, 10.2MB)
    테스트 18 〉	통과 (0.75ms, 10MB)
    테스트 19 〉	통과 (0.98ms, 10.1MB)
    테스트 20 〉	통과 (0.96ms, 10.1MB)
    테스트 21 〉	통과 (0.70ms, 10MB)
    테스트 22 〉	통과 (0.27ms, 10MB)
    테스트 23 〉	통과 (39.48ms, 10.3MB)
    테스트 24 〉	통과 (0.59ms, 10MB)
    테스트 25 〉	통과 (0.66ms, 10.1MB)
    테스트 26 〉	통과 (39.91ms, 10.1MB)
    효율성  테스트
    테스트 1 〉	통과 (48.65ms, 10.3MB)
    테스트 2 〉	통과 (40.94ms, 10.2MB)
    테스트 3 〉	통과 (59.91ms, 10.2MB)
    테스트 4 〉	통과 (54.77ms, 10.2MB)
    테스트 5 〉	통과 (55.21ms, 10.2MB)
    테스트 6 〉	통과 (178.61ms, 10.4MB)
    테스트 7 〉	통과 (196.74ms, 10.5MB)
    테스트 8 〉	통과 (175.09ms, 10.5MB)
    반응형
Designed by Tistory.