백준
[백준] 15650번 : N과 M (2) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 8. 7. 15:56
728x90
반응형
15650번: N과 M (2)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 조합을 활용하기 위해 combinations 함수를 불러온다. from itertools import combinations
- 두 자연수를 입력받는다. N, M = map(int, sys.stdin.readline().split())
- 조합에서 사용할 숫자들을 리스트로 생성한다. num = list(i for i in range(1, N + 1))
- 수열을 저장할 리스트를 생성한다. result = list()
- 조합을 구하고 그 결과를 하나씩 추출한다. for i in combinations(num, M)
- 해당 조합을 원소별로 추출하여 공백을 두며 한 줄로 출력한다. for j in i: print(j, end=' ')
- 한 개의 조합 결과를 출력하면 줄 바꿈을 한다. print()
반응형
3. 소스코드
import sys
from itertools import combinations
N, M = map(int, sys.stdin.readline().split())
num = list(i for i in range(1, N + 1))
result = list()
for i in combinations(num, M):
for j in i:
print(j, end=' ')
print()
728x90
반응형