알고리즘을 이해 하고 문제에 적용시키는 .. 그런 느낌이 든다.
2-3일 새에 또 코테 이해력이 늘어난 느낌이다.
백트래킹이 참 이해 안 가는 파트 중에 하나였는데.. 그동안 그냥 머리에 밀어넣기 암기 식으로 문제 풀어온 성과인지, 해당 사이트의 30분도 안 되는 강의 덕분인 지, 조금은 논리적으로 한 큐에 해당 문제를 풀 수 있었다.
이게 좀 간단한 문제여서 뿌듯함까지는 아니고 신기함이 강렬하게 느껴진다.
이런 사소하고 소중한 작은 성취 덕분에 일주일 간 코테에 집중할 스케줄이 더욱 기대가 된다.
1차 제출 [ 10 / 10 ] Pass
def dfs(plants, n, selected, depth, curr_sum):
global answer
if depth == n:
answer = min(answer, curr_sum)
return
if curr_sum > answer:
return
for i in range(n):
if i not in selected:
selected.append(i)
dfs(plants, n, selected, depth+1, curr_sum+plants[depth][i])
selected.pop()
return answer
if __name__ == "__main__":
T = int(input())
for test_case in range(1, T+1):
n = int(input())
plants = [list(map(int, input().split())) for _ in range(n)]
answer = 1e9
dfs(plants, n, [], 0, 0)
print("#{} {}".format(test_case, answer))
'CodingTest > SW Expert Academy' 카테고리의 다른 글
[ SW Expert Academy ] 5248. 그룹 나누기 # 다시 풀기 # (0) | 2022.11.13 |
---|---|
[ SW Expert Academy ] 5247. 연산 (0) | 2022.11.13 |
[ SW Expert Academy ] 5208 전기버스2 (0) | 2022.11.12 |
[ SW Expert Academy ] 5207. 이진탐색 (0) | 2022.11.11 |
[ SW Expert Academy ] 5205. 퀵정렬 (0) | 2022.11.11 |