728x90
처음엔 굉장히 쉬워보였는데,
M값을 왜 받아야 하지.. 라고 생각했는데
역시나 필요했다.
재귀함수를 써 볼까 생각도 했는데
왠지 파이썬에는 이미 구현되어 있는 함수가 있을 것 같아서
열심히 구글링을 했다.
from itertools import permutations
N,M=map(int,input().split())
numlist=[i for i in range(1,N+1)]
setlist=list(permutations(numlist,M))
for i in range(len(setlist)):
for j in range(M):
print(setlist[i][j],end=' ')
print()
재귀함수를 구현 해 볼까 했는데
굉장히 골치가 아파보여서 굳이..? 라는 생각이 들었다.
있는 것을 잘 활용하는것도.. 좋지않을까..
다른 사람들은 어떻게 했나 한 번 봤는데,
from itertools import permutations
N,M=map(int,input().split())
numlist=map(str,range(1,N+1))
setlist=list(permutations(numlist,M))
print('\n'.join(list(map(' '.join,setlist))))
이런식으로 했다.
전 문제에서는 int로 안받아서 틀렸는데..
이건 상관 없는건가..
str로 했을때 속도가 훨씬 빠르긴 빨랐다.
728x90
'Baekjoon Case' 카테고리의 다른 글
[백준 #15651] N과 M(3) - 파이썬(python) (0) | 2021.08.14 |
---|---|
[백준 #15650] N과 M(2) - 파이썬(python) (0) | 2021.08.14 |
[백준 #18870] 좌표 압축 - 파이썬(python) (0) | 2021.08.13 |
[백준 #10814] 나이순 정렬 - 파이썬(python) (0) | 2021.08.13 |
[백준 #1181] 단어 정렬 - 파이썬(python) (0) | 2021.08.12 |