inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

10. Tìm tổ hợp (DFS)

안녕하세요? 강의에서 말씀해주신 방법의 응용에 대해 질문 드립니다.

Đã giải quyết

282

drather

6 câu hỏi đã được viết

0

혹시, 강의에 나오지 않은 다른 문제에 대한 질문은 받지 않으신다면 아래 내용은 읽지 않으셔도 됩니다!!

안녕하세요? 강의에서 말씀해주신 방법의 응용에 대해 질문 드립니다. 

이 문제를 열심히 풀어보고 난 뒤 숙달을 위해 백준사이트의 N과M 시리즈 문제들을 풀어보고 있습니다. 

그 중, 다른 문제들은 해결했지만, '원소간 중복을 허용하는 조합'을 뽑아내는 문제를 해결하는데 어려움이 있습니다. 아래 링크가

"N개의 숫자 중, 중복을 허용하여 M개를 뽑아 만들 수 있는 '조합'을 출력하는 문제"입니다. 

https://www.acmicpc.net/problem/15657

이 문제를 해결하고자 한다면, 선생님께서 알려주신 코드를 어떻게 고쳐야 풀 수 있을까요? 

위 질문 외에, 혹시 조금 더 상급 수준의 코스를 만들어 올려주실 생각이 있으신지 궁금합니다. 선생님의 코스를 따라가며 많이 실력이 늘었기 때문입니다. 

무더워가 어느정도 지나가고, 날이 점점 선선해지는 듯한 계절입니다. 이럴때일수록 몸 건강히 챙기시고, 코로나도 각별히 유의하시기 바랍니다. 

python 코테 준비 같이 해요!

Câu trả lời 2

1

codingcamp

제공한 조합 코드에서 DFS호출부분을 

DFS(L+1, i) 와 같이 바꾸면 중복조합이 됩니다. 문의하신 백준문제를 조합문제 코드를  수정해서 풀어보면 아래와 같습니다.

def DFS(L, s):
    if L==m:
        for i in range(m):
            print(arr[res[i]], end=' ')
        print()
    else:
        for i in range(s, n):
            res[L]=i
            DFS(L+1, i)
           

n, m=map(int, input().split())
arr=list(map(int, input().split()))
arr.sort()
res=[0]*(n+1)
cnt=0
DFS(0, 0)

0

drather

오.. 정말 대단하십니다. 알려주신 방법을 잘 응용하기만 한다면 정말 다양한 유형의 문제들을 풀 수 있군요!! 좋은 스킬 알려주셔서 감사합니다! 꼭 완벽히 제것으로 만들어서 좋은 결과를 내도록 하겠습니다!! 

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

1

98

2

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

0

103

3

문제가 어디있나요?

0

84

2

변수 or 함수명

0

76

1

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

0

70

1

AA.py 책점 에러

0

63

1

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

0

114

2

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

0

114

1

아나그램 비교 코드

0

121

2

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

0

163

2

문제 링크가있나여?

0

152

2

채점기 Time Limit Exceeded 오류 문의

1

175

2

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

0

130

2

제 코드 좀 봐주세요

0

154

1

예외가 존재할 가능성?

0

99

1

3번이 안풀립니다

0

97

0

5번 틀림

0

121

0

오류원인?

0

103

0

리스트 선언

0

113

1

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

0

114

1

알고리즘

0

71

1

코딩테스트

0

98

1

DFS 순서 질문드립니다.

0

133

2

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

0

93

1