N과 M (3)
https://www.acmicpc.net/problem/15651
15651번: N과 M (3)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net



15651번이 이전 문제들과 다른 점은 수열을 중복된 수로 구성할 수 있다는 점이다.
이전에 만든 코드에서 함수 내부만 조금 바꾸면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
N, M = list(map(int,input().split()))
numbers = []
def add_number():
if len(numbers) == M:
print(' '.join(map(str, numbers)))
return
for i in range(1, N+1):
numbers.append(i)
add_number()
numbers.pop()
add_number()
|
cs |
15650번에서는 add_number 함수가 변수를 입력받아 그 변수를 제외한 수들을 추가하도록 만들었는데
15651번은 중복이 가능하기 때문에 함수가 변수를 따로 입력받지 않고 뒤에 추가할 수를 range(1, N+1)로 구성했다.
'알고리즘' 카테고리의 다른 글
(파이썬) 백준 알고리즘 - 9663번 (0) | 2021.09.01 |
---|---|
(파이썬) 백준 알고리즘 - 15652번 (0) | 2021.08.31 |
(파이썬) 백준 알고리즘 - 18870번 (0) | 2021.08.31 |
(파이썬) 백준 알고리즘 - 15650번 (0) | 2021.08.31 |
(파이썬) 백준 알고리즘 - 15649번 (2) | 2021.08.30 |