인프런 커뮤니티 질문&답변
Time Limit Exceed 관련 질문드립니다.
해결된 질문
작성
·
401
0
아래와 같이 코드를 작성했는데 강사님의 강의와 다른 점은 set대신 list를 사용하고 L == K일때 , 정답으로 가능한 리스트 안에 현재 추의 sum이 없으면 추가한다는 조건으로 if문을 작성해주었는데 Case#5에서 계속 Time Limit이 뜹니다.
이전 질문에서 리스트와 set에 원소 할당할 때 시간복잡도 차이가 없다고 하셨는데 if문을 한줄에 여러 조건을 추가할 수록 식나이 추가되는걸까요?
import sys
input = sys.stdin.readline
K = int(input())
weights = list(map(int,input().split()))
possible = []
max = sum(weights)
def dfs(L,sum):
if L == K:
if 0 < sum <= max and sum not in possible:
possible.append(sum)
return
dfs(L+1,sum+weights[L])
dfs(L+1,sum-weights[L])
dfs(L+1,sum)
dfs(0,0)
print(max-len(possible))답변 1
0





