본문 바로가기

코딩 테스트/백준

백준 15651번 N과 M (3)

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

 

15651번: N과 M (3)

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

www.acmicpc.net

이 문제는 앞선 N과 M 문제 보다도 간단하다.

 

중복을 허용했기 때문에 오히려 기존에 걸었던 조건을 없애주기만 하면 된다.

def nm():
    if len(arr) == m:	# 배열이 m만큼 채워지면
        print(' '.join(map(str, arr)))	# join 함수로 합쳐서 출력
        return			# nm을 끝내고 되돌아가서 다음진행

    for i in range(1, n+1):
        arr.append(i)	# 추가
        nm()		# 재귀
        arr.pop()		# 출력을 완료하여 되돌아왔다면 pop하고 다음으로 넘어감


# 입력 받기
n, m = map(int, input().split())
arr = []
nm()

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

백준 9663번 N-Queen  (0) 2023.04.10
백준 15652번 N과 M (4)  (0) 2023.04.06
백준 15650번 N과 M (2)  (0) 2023.04.06
백준 15649번 N과 M (1)  (0) 2023.04.06
백준 1022번 소용돌이 예쁘게 출력하기  (0) 2023.04.05