코딩테스트

백준 15652 N과 M(4) - python

math_tbro 2022. 2. 3. 16:31

출처 : 

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

 

15652번: N과 M (4)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

a, b = map(int, input().split())
ans = []

def bts(start):
    if len(ans) == b :
        print(' '.join(map(str,ans)))
        return
    
    for i in range(start, a+1):
        ans.append(i)
        bts(i)
        ans.pop()
        start += 1
        
        
bts(1)

풀이:

 

이전과 똑같이 하면되는데 다만 함수에 변수를 넣어줘야한다.

1 로 시작해서 [1 1] 을 넣어주고 [1 2] 를 넣어주고 [1 4]과정이 끝나면 start가 2가되서 [2 2] [2 3] 이렇게 진행된다.

'코딩테스트' 카테고리의 다른 글

백준 14889 스타트와 링크 - Python  (0) 2022.02.12
백준 14888 연산자 끼워넣기 - python  (0) 2022.02.05
백준 15651 N과 M(3) - python  (0) 2022.02.03
15650 N과 M(2)  (0) 2022.02.02
백준 18870 좌표 압축 - python  (0) 2022.01.17