인프런 커뮤니티 질문&답변
조합결과를 인덱스로 사용하는 방법
작성
·
337
0
안녕하세요
기존의 조합처럼 1부터 n까지의 조합결과를 구한다음에
그 값을 a 리스트의 인덱스로 사용하여 sum값을 구해도될까요?
테스트는 통과했습니다
def DFS(L, s):
global tmp, cnt
if L == k:
tmp = 0
for i in range(L):
tmp += a[res[i]-1]
if tmp % m == 0:
cnt += 1
else:
for i in range(s, n+1):
res[L] = i
DFS(L+1, i+1)
if __name__ == "__main__":
n, k = map(int, input().split())
a = list(map(int, input().split()))
m = int(input())
tmp = 0
cnt = 0
res = [0] * (k+1)
DFS(0, 1)
print(cnt)
퀴즈
재귀 함수에서 print 문을 재귀 호출 뒤에 두면 출력이 역순으로 되는 이유가 무엇일까요?
전역 변수 충돌 때문에
종료 조건이 없어서
스택에 쌓였다가 역순으로 처리돼서
지역 변수 우선순위 때문에





