-
쿠키 구입코딩 테스트/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.accumulatedef 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)
반응형