inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

11. 수들의 조합(DFS)

수의 범위와 뽑는개수가 많은경우

해결된 질문

343

dev.kkim

작성한 질문수 5

0

안녕하십니까 선생님,  수들의 조합문제를 풀다가 비슷한 문제를 봐서 풀어보려다가 잘 안되서 질문드립니다.  아래의 문제는 수의 범위가 1000개까지 늘어나있고 뽑는 수는 47개까지 늘어나있습니다. 최악의 경우 경우의 수가 엄청 많아지는데 어떻게 가지를 쳐내야 할지 모르겠습니다.  

https://devth-preview.goorm.io/exam/53763/%EC%A3%BC-%EA%B5%AC%EB%A5%B4%EB%AF%B8-%EC%8B%A0%EC%9E%85-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EA%B3%B5%EA%B0%9C%EC%B1%84%EC%9A%A9-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8/quiz/4?_ga=2.908337.163205682.1599062036-1973470052.1555686572

python 코테 준비 같이 해요!

답변 1

2

김태원

안녕하세요^^

같은 문제라도 입력제한이 커지면 전혀 다른 문제가 됩니다.

이 문제 같은 경우 N값과 K값이 너무 커서 재귀로는 해결할 수 없는 문제입니다. 문제를 보니 다이나믹 문제같습니다.

dy[i][j][m] : i번째까지의 카드 중에서 j장을 뽑아 모든 합을 N으로 나누었을때 나머지가 m인 경우수

로 정의하고 다이나믹하면 됩니다. 배열이 너무 크므로 i값은 0과 1로 토클시키는 방식으로 코드구현을 해야 할 것 같습니다.

최종답은 dy[N][K][0]을 출력합니다.

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

1

104

2

스택에서 ')'을 만나는 경우

0

110

3

문제가 어디있나요?

0

86

2

변수 or 함수명

0

77

1

침몰하는 타이타닉 문제 질문입니다

0

71

1

AA.py 책점 에러

0

63

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

115

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

117

1

아나그램 비교 코드

0

124

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

163

2

문제 링크가있나여?

0

153

2

채점기 Time Limit Exceeded 오류 문의

1

179

2

동적계획법은 사용하는 문제

0

132

2

제 코드 좀 봐주세요

0

154

1

예외가 존재할 가능성?

0

100

1

3번이 안풀립니다

0

98

0

5번 틀림

0

124

0

오류원인?

0

104

0

리스트 선언

0

115

1

침몰하는 타이타닉(그리디) 문제 질문

0

114

1

알고리즘

0

72

1

코딩테스트

0

98

1

DFS 순서 질문드립니다.

0

136

2

left, right를 사용한 풀이법에 대한 질문입니다

0

94

1