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 |