Baekjoon Case

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

Scarlett_C 2021. 8. 13. 12:30
728x90

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

처음엔 굉장히 쉬워보였는데,

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