코테 대비 python/백준

15657 n과 m (8)

ylab 2023. 5. 3. 13:40

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

 

15657번: N과 M (8)

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

www.acmicpc.net

n,m=map(int,input().split())
numlist = list(map(int,input().split()))
#즉 리스트 안에 있는거 중 길이가 m개인 수열을 모두 구하라
#오름차순으로 만들고
numlist.sort()
result=[]
cnt=0
def back(start):
    global cnt
    if cnt==m:
        print(' '.join(map(str,result)))
        return
    for i in range(start,n):
        result.append(numlist[i])
        cnt+=1
        back(i)
        result.pop()
        cnt-=1

back(0)

반복되는 감이 없지 않아 있지만 익숙해지기 위함이다!!!