1. 시간초과 코드
def solution(nums):
def solve(idx, used, chosen, total, N, nums, cnt):
nonlocal answer
if cnt == total:
for el in range(N):
if used[el] == 1:
chosen.add(nums[el])
if answer < len(chosen):
answer = len(chosen)
return chosen
if idx == N:
return
elif idx < N:
used[idx] = 1
chosen.add(nums[idx])
solve(idx + 1, used, chosen, total, N, nums, cnt + 1)
used[idx] = 0
chosen.discard(nums[idx])
solve(idx + 1, used, chosen, total, N, nums, cnt)
answer = 0
N = len(nums)
total = N // 2
used = [0] * N
chosen = set()
cnt = 0
for idx in range(N):
solve(idx, used, chosen, total, N, nums, cnt)
return answer
2. 개선 방법 ?
'CS > 알고리즘 문제 풀이' 카테고리의 다른 글
[코드트리 조별과제] Java 최소공배수 구하기 💛코드 업그레이드💛 (0) | 2024.08.15 |
---|---|
[Java] 배열 기본 오답노트 (0) | 2024.05.05 |
[BOJ23971/Python] ZOAC 4 (2) | 2024.03.05 |
[프로그래머스/알고kit/DFS,BFS] 타겟 넘버 (1) | 2024.01.27 |
[프로그래머스/알고kit/그리디] 체육복 (0) | 2024.01.21 |