728x90

알고리즘 2

[백준] 1912 연속합 파이썬

링크 : www.acmicpc.net/problem/1912 처음엔 쉬운줄 알고, 완전탐색 알고리즘으로 O(N^2)의 시간을 알고리즘을 짰더니 타임아웃 에러로 안 됐었습니다. 다 풀고나서 보니 알고리즘도 썩 좋지 않네요 ㅎㅎ (타임아웃 난 코드) N = int(input()) data_list = list(map(int, input().split()))[:N] sum_list = list() for i in range(N): max_sum = data_list[i] for j in range(1, N): if max_sum < sum(data_list[i:i+j]): max_sum = sum(data_list[i:i + j]) sum_list.append(max_sum) print(max(sum_list..

[백준] 14889 스타트와 링크 파이썬

링크 : www.acmicpc.net/problem/14889 푸는 방법은 다음과 같습니다. 1. 먼저 배열을 입력받습니다 2. 4번줄 cases는 N명을 각각 N/2, N/2로 나누었기 때문에 팀이 생길수 있는 경우의 수를 나열해야 합니다. 경우의 수를 나열하는데에는 itertools 라이브러리를 이용해 편하게 생성하였습니다. 저의 경우는 A팀을 생성하면 , 나머지가 B팀이 되도록 만들었습니다. (6명이라 하면, A팀으로 (0, 2, 4) 가 생성될 경우, 자동으로 B팀은 나머지인 (1,3,5)가 됩니다) 3. 최소격차는 임의로 큰 값을 넣어도 되는데, 행렬 1개의 cell 값이 100을 넘지 않는다길래, N*N*100이 최대값이라 생각하고 이보단 작을 거라 생각한 최대값을 넣었습니다. 4. 9번 줄에..

728x90