[Python] 백준15654 N과 M (5)

[Python] 백준15654 N과 M (5)

백준15654 N과 M (5) 링크

문제

문제

예제 입력

예제


코드

import sys
from itertools import permutations

n, m = map(int, input().split())
arr = list(map(int, sys.stdin.readline().split()))
arr.sort()
res = list(permutations(arr, m))

for lst in res:
    for num in lst:
        print(num, end=' ')
    print()

설명

파이썬을 통해서 사용자로부터 입력받아 순열을 사용하여 N과 M (5)를 구현했습니다.


정리

import sys
n, m = map(int, input().split())
arr = list(map(int, sys.stdin.readline().split()))
arr.sort()

res = []
def backt():
    if len(res) != m:
        for i in arr:
            if i not in res:
                res.append(i)
                backt()
                res.pop()
    else :
        print(*res)
backt()

그 외에도 백트래킹알고리즘을 사용하여 해결할 수 있습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그