본문 바로가기

알고리즘 문제해결전략

(4)
[파이썬 | 알고스팟 | MAXSUM] 최대 연속 부분합 찾기 https://www.algospot.com/judge/problem/read/MAXSUM algospot.com :: MAXSUM 최대 연속 부분합 찾기 문제 정보 문제 N개의 정수를 담고 있는 배열 A가 주어졌을 때, 여기서 가능한 연속 부분합을 구하는 프로그램을 작성하라. 여기서 연속 합이라는 것은 배열 A = { a1, a2, ..., www.algospot.com 문제 N개의 정수를 담고 있는 배열 A가 주어졌을 때, 여기서 가능한 연속 부분합을 구하는 프로그램을 작성하라. 여기서 연속 합이라는 것은 배열 A = { a1, a2, ..., aN } 에서 아무 값도 선택을 하지 않거나( 이 경우 합은 0 ), 배열의 임의의 i번째 수 부터 j번째 수 까지( ai, ai+1, ..., aj ) ( 1
[파이썬 | 알고리즘 문제해결전략] O(n^2) 정렬 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 import sys import random import copy import time read = sys.stdin.readline def logging_time(original_fn): def wrapper_fn(*args, **kwargs): start_time = time.time() result = original_fn(*args, **kwargs) end_time = time.time()..
[파이썬 | 알고리즘 문제해결전략] 간단한 형태의 소인수 분해 알고리즘 [예제 4.6] 123456789101112131415161718192021222324252627282930313233343536import sysread = sys.stdin.readline def pprint(sortedNum): N = len(sortedNum) sortedNum.append(sortedNum[-1]+1) ans = [] ret = '' oldI = -1 for i in range(N): if sortedNum[i+1] != sortedNum[i]: ans.append([sortedNum[i], i-oldI]) oldI = i sortedNum.pop() for a in ans[:-1]: ret += ('%d^%d +' % (a[0], a[1])) ret += ('%d^%d' % (..
[파이썬 | 알고리즘 문제해결전략 | 알고스팟] 록 페스티벌 https://www.algospot.com/judge/problem/read/FESTIVAL algospot.com :: FESTIVAL 록 페스티벌 문제 정보 문제 커다란 공연장을 빌려서 록 페스티벌을 개최하려고 합니다. 이 페스티벌은 여러 날 동안 진행되며, 하루에 한 팀의 밴드가 공연장에서 콘서트를 하게 됩니다. 전체 밴드를 몇 팀 섭외할 지는 아직 결정하지 않았지만, 페스티벌의 간판 스타인 L개의 팀은 이미 섭외가 끝난 상태입니다. 따라서 페스티벌은 최소 L일 이상 진행하게 됩니다. 이번에 사용할 공연장은 하루 빌리는 데 드는 비용이 매일 매일 다릅니다. 때문에 공연 일정을 잘 정해 www.algospot.com 문제 커다란 공연장을 빌려서 록 페스티벌을 개최하려고 합니다. 이 페스티벌은 여러 ..