🔻PS/Codetree

[Codetree] 수들의 합 최대화하기 Python

_니지 2024. 9. 12. 20:25

https://www.codetree.ai/missions/2/problems/max-sum-of-numbers/description

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

n = int(input())

graph = []
for _ in range(n):
    temp = list(map(int, input().rstrip().split(" ")))
    graph.append(temp)

visited = [0 for _ in range(n)]

row = [i for i in range(n)]
num = [i for i in range(n)]


cnt = 0
result = []
answer = []


def find_max(col):
    cnt = 0
    for i, j in zip(row, col):
        cnt += graph[i][j]
    return cnt

def backtrack(dep):
    global cnt

    if dep == n:
        temp = answer[::]
        result.append(temp)
        cnt = max(find_max(temp), cnt)
        return

    
    for i in range(n):
        if not visited[i]:
            answer.append(num[i])
            visited[i] = 1
            backtrack(dep+1)
            answer.pop()
            visited[i] = 0


backtrack(0)

print(cnt)
728x90
반응형