algorithm/문제

[Python]백준 15649/N과 M(1)(2)(3)(4) / itertools

유랄라- 2022. 3. 12. 01:19
반응형

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

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

⚡️ 문제 설명

자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성

⚡️ 해결 방법

파이썬 내장 모듈 itertools를 이용한다

2022.03.12 - [algorithm/개념] - [알고리즘] 완전탐색 / itertools / 순열 중복순열 조합 중복조합

 

[알고리즘] 완전탐색 / itertools / 순열 중복순열 조합 중복조합

itertools 모듈 순열 permutations(list, r=None) 중복순열 product(list, repeat=1) 조합 combinations(list, r) 중복조합 combinations_with_replacement(list, r) # 순열 : permutations(list, r=None) from it..

tral-lalala.tistory.com

itertools 참조

⚡️ 코드

(1) permutations

import sys
from itertools import permutations
input = sys.stdin.readline
n,m=map(int,input().split())
numlist= [i for i in range(1,n+1)]

for re in permutations(numlist,m):
    for r in re:
        print(r,end=' ')
    print()

 

(2) combinations

from itertools import combinations
import sys
input = sys.stdin.readline
n,m=map(int,input().split())
numlist=[i for i in range(1,n+1)]

for re in combinations(numlist,m):
    for r in re:
        print(r,end=' ')
    print()

(3) product

from itertools import product
import sys
input = sys.stdin.readline
n,m=map(int,input().split())
numlist=[i for i in range(1,n+1)]

for re in product(numlist,repeat=m):
    for r in re:
        print(r,end=' ')
    print()

(4) combinatinos_with_replacement

from itertools import combinations_with_replacement
import sys
input = sys.stdin.readline
n,m=map(int,input().split())
numlist=[i for i in range(1,n+1)]

for re in combinations_with_replacement(numlist,m):
    for r in re:
        print(r,end=' ')
    print()
반응형