본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 15656 N과 M (7)

by Alan_Kim 2023. 1. 4.
728x90
반응형

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

 

15656번: N과 M (7)

N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열

www.acmicpc.net

 

 

문제 풀이

15655 문제와 비슷

https://thought-process-ing.tistory.com/83

 

[Python] 백준 15655 N과 M (6)

https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수

thought-process-ing.tistory.com

하지만 중복 숫자 허용(1이 있으면 1 1 허용) + 사전식 나열 (1 7 과 71 다르고 둘다 출력)

dfs를 이용하는 것이 좋겠다.

 

CODE

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
A = list(map(int, input().split()))
A.sort()
num = []
def dfs(start):
    if len(num) == m:
        print(*num)
        return
    for i in range(start, len(A)):
        num.append(A[i])
        dfs(0)
        num.pop()
dfs(0)

 

 

728x90
반응형

댓글