본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #15649: N과 M(1)

www.acmicpc.net/problem/15649

 

15649번: N과 M (1)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

 

[정답]

 

1. 두 수를 입력받아 N,M을 정의한다.

2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다.

3. itertools 모듈의 permutations() 함수를 사용하여 중복을 제외한 순열을 구한다.

4. for문을 돌면서 중복을 제외한 순열을 차례대로 출력한다.

 


itertools 모듈

- product() : 중복 순열 ex) product('ABC',repeat=2)→ AA,AB,AC,BA,BB,BC,CA,CB,CC

- permutations() : 중복 제외 순열 ex) permutations('ABC',2)→ AB,AC,BA,BC,CA,CB

- combinations() : 순서 상관 없는 조합 ex) combinations('ABC',2)→ AB,AC,BC

- combinations_with_replacement() : 중복 조합 ex) combinations_with_replacement('ABC',2)→ AA,AB,AC,BB,BC,CC

 


[참고]

https://blog.naver.com/yjyj4700/222183489067

 

[파이썬] itertools 모듈

​프로그래머스 '두 개 뽑아서 더하기' 문제를 풀다가 combinations라는 함수를 알게됐어요!comb...

blog.naver.com