728x90
N값이 작아 조합으로 풀었다. 89%에서 계속 에러가 떴는데 조합 선언 시 오류가 있었다.
import sys
from itertools import combinations
def check(k,num):
answer = 0
for i in range(0,len(k)-1):
if k[i][1]>k[i+1][0]:
return answer
else:
if k[i][1]>=num:
return answer
else:
answer += k[i][2]
if k[-1][1]<=num:
answer += k[-1][2]
return answer
num = int(input())
k = [ ]
for i in range(num):
temp = (list(map(int,sys.stdin.readline().rstrip().split(" "))))
k.append([i,temp[0]+i,temp[1]])
answer = [ ]
for i in range(1,num+1):
temp = list(combinations(k,i))
for j in range(0,len(temp)):
answer.append(check(temp[j],num))
print(max(answer))
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 2529 부등호 (0) | 2023.06.20 |
|---|---|
| [파이썬] 백준 1759 암호 만들기 (0) | 2023.06.19 |
| [파이썬] 백준 10971 외판원 순회 2 (0) | 2023.06.14 |
| [파이썬] 백준 9095 1, 2, 3 더하기 (0) | 2023.06.12 |
| [파이썬] 백준 3085 사탕 게임 (0) | 2023.06.12 |