728x90
반응형
https://www.acmicpc.net/problem/15655
Python
n, m = map(int, input().split())
arr = list(map(int, input().split()))
arr.sort()
nums = []
def back(k, idx):
if k == m:
print(' '.join(map(str, nums)))
return
for i in range(idx, n):
nums.append(arr[i])
back(k+1, i+1)
nums.pop()
back(0, 0)
오답
문자열을 그대로 정렬하면 사전순 배열이 되어 오답
꼭 숫자로 만들어 정렬한 뒤, join할 때 str로 바꿔주자
import sys
n, m = map(int, sys.stdin.readline().split())
####
arr = sys.stdin.readline().split()
arr.sort()
####
visit = [0]*n
nums = []
def back(k,idx):
if k==m:
print(" ".join(nums))
return
for i in range(idx,n):
nums.append(arr[i])
back(k+1,i+1)
nums.pop()
back(0,0)
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[백준] [Python] 14888번 연산자 끼워넣기 - 백트래킹 (0) | 2021.05.18 |
---|---|
[백준] [Python] 1966번 프린터 큐 - 큐 (0) | 2021.05.16 |
[백준] [Python] 9095번 1,2,3 더하기 - DP (0) | 2021.05.13 |
[백준] [Python] 1463번 1로 만들기 - DP (0) | 2021.05.13 |
[백준] [Python] 1759번 암호 만들기 - 백트래킹 (0) | 2021.05.12 |