728x90
반응형
15651번: N과 M (3)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 가능한 모든 경우의 수인 중복 조합을 구하기 위해 product() 함수를 불러온다. from itertools import product
- 두 자연수를 입력받는다. N, M = map(int, sys.stdin.readline().split())
- 1부터 첫 번째 자연수까지 각 수를 문자 원소로 가진 리스트를 생성한다. li = list(str(i) for i in range(1, N + 1))
- 중복 조합의 결과를 구해주는 product() 함수를 사용해 위에서 생성한 리스트에서 두 번째 자연수만큼 원소를 뽑아 가능한 모든 경우를 리스트로 저장한다. result = list(product(li, repeat = M))
- 가능한 모든 경우를 하나씩 불러와 for i in result
- 해당 조합을 공백을 기준으로 한 문자열로 연결해 출력한다. print(' '.join(i))
반응형
3. 소스코드
import sys
from itertools import product
N, M = map(int, sys.stdin.readline().split())
li = list(str(i) for i in range(1, N + 1))
result = list(product(li, repeat = M))
for i in result:
print(' '.join(i))
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 14888번 : 연산자 끼워넣기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.21 |
---|---|
[백준] 2580번 : 스도쿠 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.20 |
[백준] 9663번 : N-Queen - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.19 |
[백준] 15652번 : N과 M (4) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.18 |
[백준] 2447번 : 별 찍기 - 10 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.16 |
[백준] 4779번 : 칸토어 집합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.15 |
[백준] 24060번 : 알고리즘 수업 - 병합 정렬 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.14 |
[백준] 25501번 : 재귀의 귀재 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.13 |