728x90
https://www.acmicpc.net/problem/15666
삼성 코딩테스트에서는 collections 라이브러리를 못쓰게 한다는 소식을 듣고 ~
n과 m을 풀어보았읍니다..
비내림차순으로 순열을 구하는 알고리즘입니다
중복된 값을 출력하는 것을 방지하기 위해, 처음에 입력받는 숫자들을 set()으로 묶어서 중복된 숫자를 빼줍니다
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
data = sorted(list(set(map(int, input().split()))))
def solve(numbers):
if len(numbers) == m:
print(" ".join(map(str, numbers)))
return
for i in range(len(data)):
if len(numbers) == 0 or numbers[-1] <= data[i]:
numbers.append(data[i])
solve(numbers)
numbers.pop()
solve([])
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준] 7570번: 줄세우기 Python - Greedy/DP (0) | 2023.01.03 |
---|---|
[프로그래머스] 수식최대화 Python (0) | 2023.01.01 |
[백준] 17779 게리맨더링2 - Python - 구현 (0) | 2022.12.31 |
[백준] 1654번 랜선자르기 Python - 이진탐색 (0) | 2022.12.31 |
[백준] 2805번: 나무자르기 Python - 이진탐색 (0) | 2022.12.31 |